openapi: 3.1.0
info:
  title: VirtuaBroker API
  version: 1.0.0
  description: >

    This API lets you integrate with VirtuaBroker as a partner or B2B client:
    automate quotes, orders, deposits, balances, withdrawals, and webhooks using
    stable JSON contracts.


    ## Core concepts


    - **Quote** — a real-time price lock for a currency pair. No customer
    identity needed at this step. Quotes expire after a short window.

    - **Order** — binds a quote to a customer and executes the full flow:
    receive origin funds → convert at the quoted rate → pay out to the
    destination address.

    - **Deposit** — how funds enter the platform. For crypto, the API returns an
    on-chain address; for fiat, a reference/IBAN. Once the inbound transfer is
    detected, the user's balance is credited.

    - **Withdrawal** — a standalone payout from an existing balance to a fiat or
    crypto destination. For trade-then-pay flows, use an order instead.


    ## Integration surface


    - Quotes and pricing

    - Orders and deposits (create, list, and track status)

    - Balances

    - Payouts — via an order's destination leg or directly from balance with
    `POST /v1/withdrawals`

    - KYC/KYB-related endpoints where enabled for your workspace

    - Webhooks (register a callback URL and handle event payloads)


    ## Authentication


    Requests use OAuth 2.0. Obtain an access token by POSTing to:


    `https://auth2.virtuabroker.com/realms/cryptobot/protocol/openid-connect/token`


    ### Request Details


    - **Content-Type:** `application/x-www-form-urlencoded`

    - **Request Body Parameters:**
      - `client_id`: Your client identifier (provided by VirtuaBroker)
      - `username`: Your account's username (provided by VirtuaBroker)
      - `password`: Your account's password (provided by VirtuaBroker)
      - `grant_type`: Use `password` as the grant type

    Upon successful authentication, you will receive an `access_token` which
    must be included in the Authorization header as a Bearer token for all
    subsequent API calls.


    ### Example Code Snippet


    Here's a simple example of how to request an access token using Node.js and
    axios:


    ```javascript

    import axios from 'axios';

    import qs from 'qs';


    const authUrl =
    'https://auth2.virtuabroker.com/realms/cryptobot/protocol/openid-connect/token';

    const clientId = 'your-client-id';

    const username = 'your-username';

    const password = 'your-password';


    const requestToken = async () => {
      const requestBody = qs.stringify({
        client_id: clientId,
        username,
        password,
        grant_type: 'password'
      });

      try {
        const response = await axios.post(authUrl, requestBody, {
          headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        });
        
        const accessToken = response.data.access_token;
        console.log('Access Token:', accessToken);
        return accessToken;
      } catch (error) {
        console.error('Failed to fetch token', error);
        throw error;
      }
    };

    ```


    ### Idempotent writes (Idempotency-Key)


    Retrying a write after a network timeout must never create a duplicate.


    **The three money write routes — `POST /v1/orders`, `POST /v1/deposits` and
    `POST /v1/withdrawals` — share ONE strict contract:**


    - **Key format** — 1 to 128 characters of letters, digits, dash or
    underscore, starting with a letter or digit, sent exactly once per request.
    A present-but-malformed key is rejected with `400` before anything happens —
    it is never silently ignored.

    - **Scope** — keys are scoped to your workspace, account and endpoint.
    Another workspace using the same key is unaffected. Reusing your key on a
    **different endpoint** is rejected with `409`.

    - **Replay** — repeating the same key with the **same payload** returns the
    original response unchanged, and exactly one resource ever exists. Reusing
    the key with a **different payload** is rejected with `409`.

    - **Concurrency** — two simultaneous identical requests produce exactly one
    resource. While the first attempt is still executing, the retry either
    returns the same response or answers `409` (in progress); once the first
    attempt completes **successfully**, the same key returns its result.

    - **Failed attempts consume the key** — when a keyed request is ACCEPTED and
    then fails during execution (insufficient funds, a rejected payout), or its
    outcome cannot be determined, the key is NOT released: further requests with
    it keep answering `409`, and no expiry ever frees it. Verify the current
    state first — list the resource (`GET`), or look it up by your own
    `externalReference` on deposits — then retry with a **new key**. A key is
    the retry token of ONE attempt, never a reusable slot. (Only a `400` from
    request validation leaves the key unused, because it is refused before
    anything is reserved. A `400` raised while executing an already-accepted
    request — an amount outside the allowed range, for example — consumes the
    key like any other execution failure.)

    - **TTL** — a key whose attempt SUCCEEDED replays for 24 hours; after that,
    the same key starts a fresh request. A key burned by a failed attempt is
    never released by that expiry: only the operator releases it, after
    verifying what the failed attempt did.


    **Resource ids are always server-generated and never derived from your
    key.** Order and deposit ids match `^(PRE)?[A-Z0-9]{12}$` (withdrawal ids
    are UUIDs), and the deposit's bank `referenceCode` follows the same
    server-generated id — an `Idempotency-Key` never becomes an id or a bank
    reference.


    **Two other surfaces accept the header with their own, narrower semantics —
    documented in their sections, not by the contract above:** `POST
    /v1/aml-screenings` (keys scoped to your workspace; replay of the original
    screening; `409` on payload mismatch) and the conversation mutations (the
    header is **required** there and scoped per endpoint).


    ### Integration testing


    Integrate end to end against non-production data on the **stage**
    environment (`https://api-stage.virtuabroker.com`) before going live.
    Inbound transfers can be simulated on stage so you can exercise the full
    deposit → order → payout lifecycle — ask your integration contact to enable
    this for your workspace.


    ### Further Assistance


    If you are interested in integrating with the VirtuaBroker platform or need
    specific credentials for authentication, please contact our support team at
    [integrations@virtuabroker.com](mailto:integrations@virtuabroker.com). We
    are here to assist you with any questions or issues you may encounter during
    the integration process.
  x-logo:
    url: >-
      https://storage.googleapis.com/vb-static-assets/assets/virtuaBrokerEmail.png
    altText: VirtuaBroker logo
servers:
  - url: https://api.virtuabroker.com
    description: Production server
  - url: https://api-stage.virtuabroker.com
    description: Stage server
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        password:
          tokenUrl: >-
            https://auth2.virtuabroker.com/realms/cryptobot/protocol/openid-connect/token
          scopes: {}
  schemas:
    CreateKycRequest:
      type: object
      properties:
        body:
          type: object
          properties:
            userEmail:
              type: string
              minLength: 1
              maxLength: 254
              format: email
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: User email. Must match your workspace account onboarding rules.
            userPhone:
              type: string
              description: >-
                Optional. Required for some corridors (e.g. India, Turkey).
                Format: country code with `+`, a hyphen, then the number (e.g.
                +44-7700900123).
            externalUserId:
              type: string
              description: >-
                Optional. Your own user identifier in your system, if you track
                users externally.
            countryCode:
              type: string
              enum:
                - AW
                - AF
                - AO
                - AI
                - AX
                - AL
                - AD
                - AE
                - AR
                - AM
                - AS
                - AQ
                - TF
                - AG
                - AU
                - AT
                - AZ
                - BI
                - BE
                - BJ
                - BQ
                - BF
                - BD
                - BG
                - BH
                - BS
                - BA
                - BL
                - BY
                - BZ
                - BM
                - BO
                - BR
                - BB
                - BN
                - BT
                - BV
                - BW
                - CF
                - CA
                - CC
                - CH
                - CL
                - CN
                - CI
                - CM
                - CD
                - CG
                - CK
                - CO
                - KM
                - CV
                - CR
                - CU
                - CW
                - CX
                - KY
                - CY
                - CZ
                - DE
                - DJ
                - DM
                - DK
                - DO
                - DZ
                - EC
                - EG
                - ER
                - EH
                - ES
                - EE
                - ET
                - FI
                - FJ
                - FK
                - FR
                - FO
                - FM
                - GA
                - GB
                - GE
                - GG
                - GH
                - GI
                - GN
                - GP
                - GM
                - GW
                - GQ
                - GR
                - GD
                - GL
                - GT
                - GF
                - GU
                - GY
                - HK
                - HM
                - HN
                - HR
                - HT
                - HU
                - ID
                - IM
                - IN
                - IO
                - IE
                - IR
                - IQ
                - IS
                - IL
                - IT
                - JM
                - JE
                - JO
                - JP
                - KZ
                - KE
                - KG
                - KH
                - KI
                - KN
                - KR
                - KW
                - LA
                - LB
                - LR
                - LY
                - LC
                - LI
                - LK
                - LS
                - LT
                - LU
                - LV
                - MO
                - MF
                - MA
                - MC
                - MD
                - MG
                - MV
                - MX
                - MH
                - MK
                - ML
                - MT
                - MM
                - ME
                - MN
                - MP
                - MZ
                - MR
                - MS
                - MQ
                - MU
                - MW
                - MY
                - YT
                - NA
                - NC
                - NE
                - NF
                - NG
                - NI
                - NU
                - NL
                - 'NO'
                - NP
                - NR
                - NZ
                - OM
                - PK
                - PA
                - PN
                - PE
                - PH
                - PW
                - PG
                - PL
                - PR
                - KP
                - PT
                - PY
                - PS
                - PF
                - QA
                - RE
                - RO
                - RU
                - RW
                - SA
                - SD
                - SN
                - SG
                - GS
                - SH
                - SJ
                - SB
                - SL
                - SV
                - SM
                - SO
                - PM
                - RS
                - SS
                - ST
                - SR
                - SK
                - SI
                - SE
                - SZ
                - SX
                - SC
                - SY
                - TC
                - TD
                - TG
                - TH
                - TJ
                - TK
                - TM
                - TL
                - TO
                - TT
                - TN
                - TR
                - TV
                - TW
                - TZ
                - UG
                - UA
                - UM
                - UY
                - US
                - UZ
                - VA
                - VC
                - VE
                - VG
                - VI
                - VN
                - VU
                - WF
                - WS
                - YE
                - ZA
                - ZM
                - ZW
              description: >-
                ISO 3166-1 alpha-2 issuing country (e.g. ES, GB). Pre-selects
                the country in the hosted verification widget; the backend maps
                it to ISO alpha-3 for the provider WebSDK.
            sendOTPMail:
              type: boolean
              description: >-
                Whether to send an OTP email to the user. Exact behavior follows
                your integration contract with VirtuaBroker.
            type:
              type: string
              enum:
                - INDIVIDUAL
                - BUSINESS
              description: >-
                KYC category: `INDIVIDUAL` for a natural person or `BUSINESS`
                for a business flow, per your product setup.
            language:
              type: string
              description: >-
                Optional. Widget UI language and access-token locale (e.g. en,
                es, fr). If omitted or blank, `en` is used. Use codes supported
                by the verification provider WebSDK.
            theme:
              type: string
              enum:
                - dark
                - light
              description: >-
                Optional. Hosted widget theme for the provider WebSDK.
                **Default: dark** (omit or send `dark`). Send `light` only for
                light mode.
            blank:
              type: boolean
              description: >-
                Optional. If `true`, the hosted widget page uses blank framing
                (minimal chrome: no extra branding, borders, or padding around
                the iframe).
            width:
              type: string
              description: >-
                Optional. CSS width for the widget container on the hosted page
                (e.g. `100%`, `800px`, `1200px`).
            height:
              type: string
              description: >-
                Optional. CSS height for the widget container on the hosted page
                (e.g. `100vh`, `600px`, `auto`).
            forceMobile:
              type: boolean
              description: >-
                Optional. If `true`, forces the verification widget to render
                its mobile layout regardless of the screen width.
            successUrl:
              type: string
              format: uri
              description: >-
                Optional. URL the user is redirected to after completing
                verification, where the hosted verification flow supports it.
                Ignored when no redirect is supported.
            errorUrl:
              type: string
              format: uri
              description: >-
                Optional. URL the user is redirected to if verification
                fails/cancels, where the provider supports it. Ignored by
                providers that expose no redirect.
          required:
            - userEmail
            - countryCode
            - sendOTPMail
            - type
          description: >-
            Request body for starting or continuing KYC. Required fields are
            sent on every call; optional fields tune the hosted verification
            widget and token locale.
        query:
          type: object
          properties: {}
        params:
          type: object
          properties: {}
      required:
        - body
        - query
        - params
    CreateKycResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the API call completed successfully.
        kycUrl:
          type: string
          description: >-
            Present when the user must complete verification: open this URL in a
            browser or WebView to run the hosted widget. Omitted when the user
            is already approved or no widget step is needed.
        kycId:
          type: string
          description: Your KYC reference ID, used for support and correlation.
        userEmail:
          type: string
          description: Echo of the user email from the request.
        missingInfo:
          type: object
          properties:
            firstName:
              type: string
              description: First name
            lastName:
              type: string
              description: Last name
            email:
              type: string
              description: Email
            phone:
              type: string
              description: Phone
          description: >-
            If present, fields the user still needs to provide before
            verification can continue.
        status:
          type: string
          enum:
            - PENDING
            - REVIEWING
            - IN_PROGRESS
            - APPROVED
            - REJECTED
            - NOT_AVAILABLE
          description: >-
            Current KYC status in the external API enum (e.g. PENDING,
            APPROVED).
        missingFields:
          type: array
          items:
            type: string
          description: >-
            Identity fields the user must still provide (via POST /v1/kyc/data)
            before verification can start. Present when the configured provider
            needs profile data that is not yet on file; when non-empty, `kycUrl`
            is omitted.
        errorMessage:
          type: string
          description: >-
            Human-readable error when `success` is false or the operation could
            not complete.
      required:
        - success
      description: >-
        Response from POST /v1/kyc: outcome, optional widget URL, and
        verification status.
    GetKycRequest:
      type: object
      properties:
        body:
          type: object
          properties: {}
          additionalProperties: false
        query:
          type: object
          properties: {}
          additionalProperties: false
        params:
          type: object
          properties:
            accountEmail:
              type: string
              minLength: 1
              maxLength: 254
              format: email
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: Email address
          required:
            - accountEmail
      required:
        - body
        - query
        - params
    GetKycResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - PENDING
            - REVIEWING
            - IN_PROGRESS
            - APPROVED
            - REJECTED
            - NOT_AVAILABLE
        missingFields:
          type: array
          items:
            type: string
        accountId:
          type: string
          description: >-
            Account id to use for account-scoped resources (deposit methods,
            deposits, orders). Equals the email for individual users; for
            organisation representatives it is the organisation account id.
            Absent when no account exists yet for this email.
      required:
        - status
    GetPairsRequest:
      type: object
      properties: {}
      description: Request schema for getting currency pairs
    GetPairsResponse:
      type: object
      properties:
        pairs:
          type: array
          items:
            type: string
            pattern: ^[A-Z]{3,5}\/[A-Z]{3,5}$
            description: Currency pair in the format BASE/QUOTE
          description: List of currency pairs
      required:
        - pairs
      description: Response schema for getting currency pairs
      example:
        pairs:
          - USDT/EUR
          - USDC/EUR
    CreateQuotesRequest:
      anyOf:
        - type: object
          properties:
            originCurrency:
              anyOf:
                - type: string
                  enum:
                    - EUR
                    - USD
                    - GBP
                    - BRL
                    - MXN
                    - ARS
                    - COP
                    - PEN
                    - NGN
                    - KES
                    - TZS
                    - UGX
                    - RWF
                    - MWK
                    - ZMW
                    - XOF
                    - XAF
                    - BWP
                - type: string
                  enum:
                    - USDC
                    - USDT
                    - CUSD
                    - BTC
                    - ETH
                    - POL
                    - SOL
                    - TRX
                    - AVAX
                    - XRP
                    - BNB
              description: The currency code of the origin currency
              examples:
                - EUR
            originRail:
              type: string
              enum:
                - BALANCE
                - SEPA
                - BTC
                - ETH
                - MATIC
                - POLYGON
                - CELO
                - TRON
                - SOLANA
                - ARBITRUM
                - OPTIMISM
                - AVALANCHE
                - BSC
                - BASE
                - XRP
                - PIX_BR
                - UPI
                - IMPS
                - TRY_BANK_TRANSFER
                - AED_BANK_TRANSFER
                - SPEI
                - IDR_BANK_TRANSFER
                - CREDIT_CARD
                - THAI_QR
                - VIET_QR
                - GCASH
                - ARGENTINA_BANK_TRANSFER
                - PSE
                - CLABE
                - PIX
                - BANK_DEPOSIT_COL
                - BANK_DEPOSIT_AR
                - BANK_DEPOSIT_CL
                - BANK_DEPOSIT_PE
                - BANK_DEPOSIT_BO
                - BANK_DEPOSIT_BR
                - BANK_DEPOSIT_NG
                - BANK_DEPOSIT_KE
                - BANK_DEPOSIT_GH
                - BANK_DEPOSIT_ZA
                - BANK_DEPOSIT_TZ
                - BANK_DEPOSIT_UG
                - BANK_DEPOSIT_RW
                - BANK_DEPOSIT_MW
                - BANK_DEPOSIT_ZM
                - BANK_DEPOSIT_BW
                - BANK_DEPOSIT_CD
                - BANK_DEPOSIT_XOF
                - BANK_DEPOSIT_XAF
                - MOBILE_MONEY_NG
                - MOBILE_MONEY_KE
                - MOBILE_MONEY_GH
                - MOBILE_MONEY_ZA
                - MOBILE_MONEY_TZ
                - MOBILE_MONEY_UG
                - MOBILE_MONEY_RW
                - MOBILE_MONEY_MW
                - MOBILE_MONEY_ZM
                - MOBILE_MONEY_BW
                - MOBILE_MONEY_CD
                - MOBILE_MONEY_XOF
                - MOBILE_MONEY_XAF
                - ACH_US
                - GBP_BANK_TRANSFER
              description: >-
                The rail of the origin currency. Crypto origin rails use NETWORK
                names (e.g. `SOLANA` for SOL, `MATIC` for POL/USDC, `BSC` for
                BNB).
            destinationCurrency:
              type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - COP
                - MXN
                - ARS
                - CLP
                - VES
                - TWD
                - BOB
                - PEN
                - NGN
                - KES
                - ZAR
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
                - HKD
                - CNY
                - USDC
                - USDT
                - ETH
                - BTC
                - MATIC
                - SOL
                - TRX
                - AVAX
                - DOT
                - XRP
                - POL
                - ADA
                - ALGO
              description: The currency code of the destination currency
              examples:
                - VES
                - BRL
                - USDC
            destinationRail:
              type: string
              enum:
                - SEPA
                - ETH
                - BTC
                - MATIC
                - SOL
                - TRON
                - XRP
                - BSC
                - AVALANCHE
                - ARBITRUM
                - OPTIMISM
                - PIX_BR
                - PHONE_DEPOSIT_VEN
                - PHONE_DEPOSIT_MX
                - PHONE_DEPOSIT_AR
                - PHONE_DEPOSIT_IN
                - PHONE_DEPOSIT_VN
                - BANK_DEPOSIT_VEN
                - BANK_DEPOSIT_BR
                - BANK_DEPOSIT_MX
                - BALANCE
                - CELO
                - BASE
                - UPI
                - IMPS
                - THAI_QR
                - VIET_QR
                - GCASH
                - ARGENTINA_BANK_TRANSFER
                - PSE
                - BANK_DEPOSIT_COL
                - BRE_B_COP
                - ACH_COP
                - BANK_DEPOSIT_TW
                - BANK_DEPOSIT_AR
                - BANK_DEPOSIT_CL
                - BANK_DEPOSIT_BO
                - BANK_DEPOSIT_PE
                - BANK_DEPOSIT_PEN
                - BANK_DEPOSIT_NG
                - BANK_DEPOSIT_KE
                - BANK_DEPOSIT_GH
                - BANK_DEPOSIT_ZA
                - BANK_DEPOSIT_TZ
                - BANK_DEPOSIT_UG
                - BANK_DEPOSIT_RW
                - BANK_DEPOSIT_MW
                - BANK_DEPOSIT_ZM
                - BANK_DEPOSIT_BW
                - BANK_DEPOSIT_CD
                - BANK_DEPOSIT_XOF
                - BANK_DEPOSIT_XAF
                - MOBILE_MONEY_NG
                - MOBILE_MONEY_KE
                - MOBILE_MONEY_GH
                - MOBILE_MONEY_ZA
                - MOBILE_MONEY_TZ
                - MOBILE_MONEY_UG
                - MOBILE_MONEY_RW
                - MOBILE_MONEY_MW
                - MOBILE_MONEY_ZM
                - MOBILE_MONEY_BW
                - MOBILE_MONEY_CD
                - MOBILE_MONEY_XOF
                - MOBILE_MONEY_XAF
                - BANK_DEPOSIT_HK
                - BANK_DEPOSIT_CN
                - GBP_BANK_TRANSFER
                - ACH_US
                - LINKED_BANK_ACCOUNT
              description: >-
                The rail of the destination currency. Solana is the one
                asymmetric spelling: use `SOL` here (the origin side uses the
                network name `SOLANA`) — both refer to the Solana network. Other
                crypto destination rails use network names (`ETH`, `MATIC`,
                `TRON`, `XRP`, `BSC`, `AVALANCHE`, `ARBITRUM`, `OPTIMISM`,
                `BASE`).
            locale:
              type: string
              enum:
                - en
                - es
                - pt
                - it
                - fr
                - de
              description: The locale of the user
            customerId:
              type: string
              description: Account id the quote is for (External API on-behalf quotes)
              examples:
                - d290f1ee-6c54-4b01-90e6-d701748f0851
            customerEmail:
              type: string
              description: Account email the quote is for (External API on-behalf quotes)
              examples:
                - customer@example.com
            creatorMarkup:
              type: number
              minimum: 0
              exclusiveMinimum: true
              maximum: 0.1
              description: >-
                Creator markup as a fraction added on top of the workspace fees
                (App API only)
            originAmount:
              type: number
              minimum: 0
              exclusiveMinimum: true
              description: >-
                The amount in the origin currency (use either originAmount or
                destinationAmount)
              examples:
                - 100
                - 250
                - 500
          required:
            - originCurrency
            - destinationCurrency
            - originAmount
          description: >-
            Quote priced from the amount you send/collect in the origin currency
            (set `originAmount`).
          title: QuoteByOriginAmount
        - type: object
          properties:
            originCurrency:
              anyOf:
                - type: string
                  enum:
                    - EUR
                    - USD
                    - GBP
                    - BRL
                    - MXN
                    - ARS
                    - COP
                    - PEN
                    - NGN
                    - KES
                    - TZS
                    - UGX
                    - RWF
                    - MWK
                    - ZMW
                    - XOF
                    - XAF
                    - BWP
                - type: string
                  enum:
                    - USDC
                    - USDT
                    - CUSD
                    - BTC
                    - ETH
                    - POL
                    - SOL
                    - TRX
                    - AVAX
                    - XRP
                    - BNB
              description: The currency code of the origin currency
              examples:
                - EUR
            originRail:
              type: string
              enum:
                - BALANCE
                - SEPA
                - BTC
                - ETH
                - MATIC
                - POLYGON
                - CELO
                - TRON
                - SOLANA
                - ARBITRUM
                - OPTIMISM
                - AVALANCHE
                - BSC
                - BASE
                - XRP
                - PIX_BR
                - UPI
                - IMPS
                - TRY_BANK_TRANSFER
                - AED_BANK_TRANSFER
                - SPEI
                - IDR_BANK_TRANSFER
                - CREDIT_CARD
                - THAI_QR
                - VIET_QR
                - GCASH
                - ARGENTINA_BANK_TRANSFER
                - PSE
                - CLABE
                - PIX
                - BANK_DEPOSIT_COL
                - BANK_DEPOSIT_AR
                - BANK_DEPOSIT_CL
                - BANK_DEPOSIT_PE
                - BANK_DEPOSIT_BO
                - BANK_DEPOSIT_BR
                - BANK_DEPOSIT_NG
                - BANK_DEPOSIT_KE
                - BANK_DEPOSIT_GH
                - BANK_DEPOSIT_ZA
                - BANK_DEPOSIT_TZ
                - BANK_DEPOSIT_UG
                - BANK_DEPOSIT_RW
                - BANK_DEPOSIT_MW
                - BANK_DEPOSIT_ZM
                - BANK_DEPOSIT_BW
                - BANK_DEPOSIT_CD
                - BANK_DEPOSIT_XOF
                - BANK_DEPOSIT_XAF
                - MOBILE_MONEY_NG
                - MOBILE_MONEY_KE
                - MOBILE_MONEY_GH
                - MOBILE_MONEY_ZA
                - MOBILE_MONEY_TZ
                - MOBILE_MONEY_UG
                - MOBILE_MONEY_RW
                - MOBILE_MONEY_MW
                - MOBILE_MONEY_ZM
                - MOBILE_MONEY_BW
                - MOBILE_MONEY_CD
                - MOBILE_MONEY_XOF
                - MOBILE_MONEY_XAF
                - ACH_US
                - GBP_BANK_TRANSFER
              description: >-
                The rail of the origin currency. Crypto origin rails use NETWORK
                names (e.g. `SOLANA` for SOL, `MATIC` for POL/USDC, `BSC` for
                BNB).
            destinationCurrency:
              type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - COP
                - MXN
                - ARS
                - CLP
                - VES
                - TWD
                - BOB
                - PEN
                - NGN
                - KES
                - ZAR
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
                - HKD
                - CNY
                - USDC
                - USDT
                - ETH
                - BTC
                - MATIC
                - SOL
                - TRX
                - AVAX
                - DOT
                - XRP
                - POL
                - ADA
                - ALGO
              description: The currency code of the destination currency
              examples:
                - VES
                - BRL
                - USDC
            destinationRail:
              type: string
              enum:
                - SEPA
                - ETH
                - BTC
                - MATIC
                - SOL
                - TRON
                - XRP
                - BSC
                - AVALANCHE
                - ARBITRUM
                - OPTIMISM
                - PIX_BR
                - PHONE_DEPOSIT_VEN
                - PHONE_DEPOSIT_MX
                - PHONE_DEPOSIT_AR
                - PHONE_DEPOSIT_IN
                - PHONE_DEPOSIT_VN
                - BANK_DEPOSIT_VEN
                - BANK_DEPOSIT_BR
                - BANK_DEPOSIT_MX
                - BALANCE
                - CELO
                - BASE
                - UPI
                - IMPS
                - THAI_QR
                - VIET_QR
                - GCASH
                - ARGENTINA_BANK_TRANSFER
                - PSE
                - BANK_DEPOSIT_COL
                - BRE_B_COP
                - ACH_COP
                - BANK_DEPOSIT_TW
                - BANK_DEPOSIT_AR
                - BANK_DEPOSIT_CL
                - BANK_DEPOSIT_BO
                - BANK_DEPOSIT_PE
                - BANK_DEPOSIT_PEN
                - BANK_DEPOSIT_NG
                - BANK_DEPOSIT_KE
                - BANK_DEPOSIT_GH
                - BANK_DEPOSIT_ZA
                - BANK_DEPOSIT_TZ
                - BANK_DEPOSIT_UG
                - BANK_DEPOSIT_RW
                - BANK_DEPOSIT_MW
                - BANK_DEPOSIT_ZM
                - BANK_DEPOSIT_BW
                - BANK_DEPOSIT_CD
                - BANK_DEPOSIT_XOF
                - BANK_DEPOSIT_XAF
                - MOBILE_MONEY_NG
                - MOBILE_MONEY_KE
                - MOBILE_MONEY_GH
                - MOBILE_MONEY_ZA
                - MOBILE_MONEY_TZ
                - MOBILE_MONEY_UG
                - MOBILE_MONEY_RW
                - MOBILE_MONEY_MW
                - MOBILE_MONEY_ZM
                - MOBILE_MONEY_BW
                - MOBILE_MONEY_CD
                - MOBILE_MONEY_XOF
                - MOBILE_MONEY_XAF
                - BANK_DEPOSIT_HK
                - BANK_DEPOSIT_CN
                - GBP_BANK_TRANSFER
                - ACH_US
                - LINKED_BANK_ACCOUNT
              description: >-
                The rail of the destination currency. Solana is the one
                asymmetric spelling: use `SOL` here (the origin side uses the
                network name `SOLANA`) — both refer to the Solana network. Other
                crypto destination rails use network names (`ETH`, `MATIC`,
                `TRON`, `XRP`, `BSC`, `AVALANCHE`, `ARBITRUM`, `OPTIMISM`,
                `BASE`).
            locale:
              type: string
              enum:
                - en
                - es
                - pt
                - it
                - fr
                - de
              description: The locale of the user
            customerId:
              type: string
              description: Account id the quote is for (External API on-behalf quotes)
              examples:
                - d290f1ee-6c54-4b01-90e6-d701748f0851
            customerEmail:
              type: string
              description: Account email the quote is for (External API on-behalf quotes)
              examples:
                - customer@example.com
            creatorMarkup:
              type: number
              minimum: 0
              exclusiveMinimum: true
              maximum: 0.1
              description: >-
                Creator markup as a fraction added on top of the workspace fees
                (App API only)
            destinationAmount:
              type: number
              minimum: 0
              exclusiveMinimum: true
              description: The amount in the destination currency
              examples:
                - 85
                - 200
                - 450
          required:
            - originCurrency
            - destinationCurrency
            - destinationAmount
          description: >-
            Quote priced from the amount the beneficiary receives in the
            destination currency (set `destinationAmount`).
          title: QuoteByDestinationAmount
      description: Request schema for creating a quote
    CreateQuotesResponse:
      type: object
      properties:
        quoteId:
          type: string
          format: uuid
          description: The unique identifier of the created quote
          examples:
            - 123e4567-e89b-12d3-a456-426614174000
            - 987f6543-a21c-45d6-b789-012345678901
        originCurrency:
          anyOf:
            - type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - MXN
                - ARS
                - COP
                - PEN
                - NGN
                - KES
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
            - type: string
              enum:
                - USDC
                - USDT
                - CUSD
                - BTC
                - ETH
                - POL
                - SOL
                - TRX
                - AVAX
                - XRP
                - BNB
          description: The currency code of the origin currency
          examples:
            - EUR
        originNetwork:
          type: string
          enum:
            - BTC
            - ETH
            - MATIC
            - CELO
            - SOLANA
            - TRON
            - BSC
            - XRP
            - ARBITRUM
            - OPTIMISM
            - AVALANCHE
            - BASE
            - CARDANO
          description: The network of the origin currency if it is crypto
          examples:
            - MATIC
            - ETH
        originAmount:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: >-
            The amount in the origin currency (use either originAmount or
            destinationAmount)
          examples:
            - 100
            - 250
            - 500
        destinationCurrency:
          type: string
          enum:
            - EUR
            - USD
            - GBP
            - BRL
            - COP
            - MXN
            - ARS
            - CLP
            - VES
            - TWD
            - BOB
            - PEN
            - NGN
            - KES
            - ZAR
            - TZS
            - UGX
            - RWF
            - MWK
            - ZMW
            - XOF
            - XAF
            - BWP
            - HKD
            - CNY
            - USDC
            - USDT
            - ETH
            - BTC
            - MATIC
            - SOL
            - TRX
            - AVAX
            - DOT
            - XRP
            - POL
            - ADA
            - ALGO
          description: The currency code of the destination currency
          examples:
            - BRL
            - VES
            - USDC
            - ETH
        destinationNetwork:
          type: string
          enum:
            - BTC
            - ETH
            - MATIC
            - CELO
            - SOLANA
            - TRON
            - BSC
            - XRP
            - ARBITRUM
            - OPTIMISM
            - AVALANCHE
            - BASE
            - CARDANO
          description: The network of the destination currency if it is crypto
          examples:
            - MATIC
            - ETH
            - CELO
        destinationAmount:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: >-
            The amount in the destination currency (use either originAmount or
            destinationAmount)
          examples:
            - 85
            - 200
            - 450
        price:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: >-
            The exchange rate price for the quote based on the symbol ex:
            USDC/EUR
          examples:
            - 0.85
            - 0.92
            - 1.05
        conversionRate:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: >-
            The conversion rate price for the quote representing 1
            originCurrency = X destinationCurrency
          examples:
            - 0.85
            - 0.92
            - 1.05
        pair:
          type: string
          description: The pair of the quote
          examples:
            - USDC/EUR
            - BRL/EUR
            - COP/EUR
        fee:
          type: number
          minimum: 0
          description: >-
            The fee associated with the order: (originAmount - fee) / price =
            destinationAmount
          examples:
            - 1.5
            - 2
            - 3.5
        expectedGasFee:
          type: number
          description: The expected fee associated with the blockchain transaction
          examples:
            - 1.5
            - 2.2
            - 3
        feeCurrency:
          anyOf:
            - type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - MXN
                - ARS
                - COP
                - PEN
                - NGN
                - KES
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
            - type: string
              enum:
                - USDC
                - USDT
                - CUSD
                - BTC
                - ETH
                - POL
                - SOL
                - TRX
                - AVAX
                - XRP
                - BNB
          description: The currency code for the fee
          examples:
            - EUR
        expireAt:
          type: number
          description: The expiration timestamp of the quote
          examples:
            - 1694291200
            - 1694291210
        creatorMarkup:
          type: object
          properties:
            percentage:
              type: number
            amount:
              type: number
            currency:
              type: string
          required:
            - percentage
            - amount
            - currency
          description: >-
            Creator markup locked on this quote: percentage (fraction), amount
            in origin currency. Echoed so the creator sees what they will earn
            if the order succeeds.
        agentMarkup:
          type: object
          properties:
            percentage:
              type: number
            amount:
              type: number
            currency:
              type: string
            beneficiaryAccountId:
              type: string
          required:
            - percentage
            - amount
            - currency
            - beneficiaryAccountId
          description: >-
            Introducer-agent markup locked on this quote: percentage (fraction),
            amount in origin currency, and the agent account credited on
            success.
        originRail:
          type: string
          enum:
            - BALANCE
            - SEPA
            - BTC
            - ETH
            - MATIC
            - POLYGON
            - CELO
            - TRON
            - SOLANA
            - ARBITRUM
            - OPTIMISM
            - AVALANCHE
            - BSC
            - BASE
            - XRP
            - PIX_BR
            - UPI
            - IMPS
            - TRY_BANK_TRANSFER
            - AED_BANK_TRANSFER
            - SPEI
            - IDR_BANK_TRANSFER
            - CREDIT_CARD
            - THAI_QR
            - VIET_QR
            - GCASH
            - ARGENTINA_BANK_TRANSFER
            - PSE
            - CLABE
            - PIX
            - BANK_DEPOSIT_COL
            - BANK_DEPOSIT_AR
            - BANK_DEPOSIT_CL
            - BANK_DEPOSIT_PE
            - BANK_DEPOSIT_BO
            - BANK_DEPOSIT_BR
            - BANK_DEPOSIT_NG
            - BANK_DEPOSIT_KE
            - BANK_DEPOSIT_GH
            - BANK_DEPOSIT_ZA
            - BANK_DEPOSIT_TZ
            - BANK_DEPOSIT_UG
            - BANK_DEPOSIT_RW
            - BANK_DEPOSIT_MW
            - BANK_DEPOSIT_ZM
            - BANK_DEPOSIT_BW
            - BANK_DEPOSIT_CD
            - BANK_DEPOSIT_XOF
            - BANK_DEPOSIT_XAF
            - MOBILE_MONEY_NG
            - MOBILE_MONEY_KE
            - MOBILE_MONEY_GH
            - MOBILE_MONEY_ZA
            - MOBILE_MONEY_TZ
            - MOBILE_MONEY_UG
            - MOBILE_MONEY_RW
            - MOBILE_MONEY_MW
            - MOBILE_MONEY_ZM
            - MOBILE_MONEY_BW
            - MOBILE_MONEY_CD
            - MOBILE_MONEY_XOF
            - MOBILE_MONEY_XAF
            - ACH_US
            - GBP_BANK_TRANSFER
          description: >-
            Rail the origin funds are collected over, echoed from the quote
            request.
        destinationRail:
          type: string
          enum:
            - SEPA
            - ETH
            - BTC
            - MATIC
            - SOL
            - TRON
            - XRP
            - BSC
            - AVALANCHE
            - ARBITRUM
            - OPTIMISM
            - PIX_BR
            - PHONE_DEPOSIT_VEN
            - PHONE_DEPOSIT_MX
            - PHONE_DEPOSIT_AR
            - PHONE_DEPOSIT_IN
            - PHONE_DEPOSIT_VN
            - BANK_DEPOSIT_VEN
            - BANK_DEPOSIT_BR
            - BANK_DEPOSIT_MX
            - BALANCE
            - CELO
            - BASE
            - UPI
            - IMPS
            - THAI_QR
            - VIET_QR
            - GCASH
            - ARGENTINA_BANK_TRANSFER
            - PSE
            - BANK_DEPOSIT_COL
            - BRE_B_COP
            - ACH_COP
            - BANK_DEPOSIT_TW
            - BANK_DEPOSIT_AR
            - BANK_DEPOSIT_CL
            - BANK_DEPOSIT_BO
            - BANK_DEPOSIT_PE
            - BANK_DEPOSIT_PEN
            - BANK_DEPOSIT_NG
            - BANK_DEPOSIT_KE
            - BANK_DEPOSIT_GH
            - BANK_DEPOSIT_ZA
            - BANK_DEPOSIT_TZ
            - BANK_DEPOSIT_UG
            - BANK_DEPOSIT_RW
            - BANK_DEPOSIT_MW
            - BANK_DEPOSIT_ZM
            - BANK_DEPOSIT_BW
            - BANK_DEPOSIT_CD
            - BANK_DEPOSIT_XOF
            - BANK_DEPOSIT_XAF
            - MOBILE_MONEY_NG
            - MOBILE_MONEY_KE
            - MOBILE_MONEY_GH
            - MOBILE_MONEY_ZA
            - MOBILE_MONEY_TZ
            - MOBILE_MONEY_UG
            - MOBILE_MONEY_RW
            - MOBILE_MONEY_MW
            - MOBILE_MONEY_ZM
            - MOBILE_MONEY_BW
            - MOBILE_MONEY_CD
            - MOBILE_MONEY_XOF
            - MOBILE_MONEY_XAF
            - BANK_DEPOSIT_HK
            - BANK_DEPOSIT_CN
            - GBP_BANK_TRANSFER
            - ACH_US
            - LINKED_BANK_ACCOUNT
          description: >-
            Rail the destination funds are paid out over, echoed from the quote
            request.
        appVisualFee:
          type: number
          description: >-
            Fee to display to the end user, which can differ from `fee` where
            the workspace absorbs it. Present only for workspaces configured
            that way; prefer `fee` for reconciliation.
          example: 0
      required:
        - quoteId
        - originCurrency
        - originAmount
        - destinationCurrency
        - destinationAmount
        - price
        - conversionRate
        - pair
        - fee
        - feeCurrency
        - expireAt
      description: Response schema for creating a quote
    GetBalancesRequest:
      type: object
      properties:
        currency:
          anyOf:
            - type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - MXN
                - ARS
                - COP
                - PEN
                - NGN
                - KES
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
            - type: string
              enum:
                - USDC
                - USDT
                - CUSD
                - BTC
                - ETH
                - POL
                - SOL
                - TRX
                - AVAX
                - XRP
                - BNB
          description: Optional currency code to filter the balances
          examples:
            - EUR
        userEmail:
          type: string
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: Optional user email to filter the balances
          examples:
            - user@virtuabroker.com
            - john.doe@example.com
            - alice@example.com
      examples:
        - userEmail: user@virtuabroker.com
          currency: EUR
        - userEmail: user2@virtuabroker.com
          currency: EUR
    GetBalancesResponse:
      type: object
      properties:
        balances:
          type: array
          items:
            type: object
            properties:
              currency:
                type: string
                description: Currency code
                example: EUR
              balance:
                type: number
                minimum: 0
                exclusiveMinimum: true
                description: Available balance for the currency
                example: 100
              reserved:
                type: number
                minimum: 0
                description: Reserved balance for the currency
                example: 100
              actions:
                type: object
                properties:
                  canDeposit:
                    type: boolean
                    description: Whether this currency can be received/deposited
                  canWithdraw:
                    type: boolean
                    description: Whether this currency can be sent/withdrawn
                  canBuy:
                    type: boolean
                    description: Whether this currency can be bought
                  canSell:
                    type: boolean
                    description: Whether this currency can be sold
                required:
                  - canDeposit
                  - canWithdraw
                  - canBuy
                  - canSell
                description: >-
                  What the workspace may do with this currency, derived from the
                  capability registry.
            required:
              - currency
              - balance
            description: Balance information for a single currency
          description: List of balances for different currencies
          example:
            - currency: EUR
              balance: 100
              reserved: 20
            - currency: USD
              balance: 100
        total:
          type: number
          description: Number of currency balances returned
          example: 2
      required:
        - balances
    CreateDepositRequest:
      allOf:
        - type: object
          properties:
            externalReference:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                Your own reference for this deposit. Stored as-is and returned
                on create, detail and list, so you can look the deposit up by it
                after a network timeout instead of retrying blind. Not
                interpreted by VirtuaBroker and not shown to the payer — for the
                payer's transfer reference use depositInfo.referenceCode.
              examples:
                - partner-ref-0001
                - inv_2026_00417
            userData:
              oneOf:
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - individual
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    lastName:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: >-
                        Last name of the user making the deposit (or
                        representative for business)
                      examples:
                        - Doe
                        - Smith
                        - Johnson
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - firstName
                    - userEmail
                    - country
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - business
                    businessName:
                      type: string
                      maxLength: 150
                      description: Business name (required when userType is business)
                      examples:
                        - Acme Corp
                        - Tech Solutions Inc
                        - Global Services Ltd
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - businessName
                    - firstName
                    - userEmail
                    - country
              description: User data of the person/company making the deposit
            userDataId:
              type: string
              description: Account ID of the person/company making the deposit
              examples:
                - d290f1ee-6c54-4b01-90e6-d701748f0851
            originCountry:
              type: string
              minLength: 2
              maxLength: 2
              description: >-
                Collection country (ISO-3166 alpha-2) for a multi-country payin
                currency (CFA zones). Must be a valid collection country for the
                currency; omitted ⇒ the default collection country is used.
              examples:
                - CI
                - SN
                - CM
            originNetworkId:
              type: string
              minLength: 1
              maxLength: 64
              description: >-
                Collection network the payer will pay from, for a mobile-money
                payin corridor. Must be one of the ids returned by GET
                /v1/currencies/{currency}/networks?rail={rail}&rampType=deposit
                — passing the same rail, and the same country where the currency
                is collected across several — not free text. Required only where
                the corridor offers more than one network; a single-network
                corridor resolves it automatically and needs no value.
              examples:
                - 3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f
        - anyOf:
            - type: object
              properties:
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: Amount to be deposited
                  examples:
                    - 100
                    - 1000
                    - 5000
                    - 10000
                currency:
                  type: string
                  enum:
                    - USDC
                    - USDT
                    - CUSD
                    - BTC
                    - ETH
                    - POL
                    - SOL
                    - TRX
                    - AVAX
                    - XRP
                    - BNB
                  description: Currency of the deposit
                  examples:
                    - USDC
                    - CUSD
                    - ETH
                rail:
                  anyOf:
                    - type: string
                      enum:
                        - BTC
                        - ETH
                        - MATIC
                        - CELO
                        - SOLANA
                        - TRON
                        - BSC
                        - XRP
                        - ARBITRUM
                        - OPTIMISM
                        - AVALANCHE
                        - BASE
                        - CARDANO
                    - type: string
                      enum:
                        - BALANCE
              required:
                - amount
                - currency
                - rail
            - type: object
              properties:
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: Amount to be deposited
                  examples:
                    - 100
                    - 1000
                    - 5000
                    - 10000
                currency:
                  type: string
                  enum:
                    - EUR
                    - USD
                    - GBP
                    - BRL
                    - MXN
                    - ARS
                    - COP
                    - PEN
                    - NGN
                    - KES
                    - TZS
                    - UGX
                    - RWF
                    - MWK
                    - ZMW
                    - XOF
                    - XAF
                    - BWP
                  description: Currency of the deposit
                  examples:
                    - EUR
                    - BRL
                rail:
                  type: string
                  enum:
                    - BALANCE
                    - SEPA
                    - BTC
                    - ETH
                    - MATIC
                    - POLYGON
                    - CELO
                    - TRON
                    - SOLANA
                    - ARBITRUM
                    - OPTIMISM
                    - AVALANCHE
                    - BSC
                    - BASE
                    - XRP
                    - PIX_BR
                    - UPI
                    - IMPS
                    - TRY_BANK_TRANSFER
                    - AED_BANK_TRANSFER
                    - SPEI
                    - IDR_BANK_TRANSFER
                    - CREDIT_CARD
                    - THAI_QR
                    - VIET_QR
                    - GCASH
                    - ARGENTINA_BANK_TRANSFER
                    - PSE
                    - CLABE
                    - PIX
                    - BANK_DEPOSIT_COL
                    - BANK_DEPOSIT_AR
                    - BANK_DEPOSIT_CL
                    - BANK_DEPOSIT_PE
                    - BANK_DEPOSIT_BO
                    - BANK_DEPOSIT_BR
                    - BANK_DEPOSIT_NG
                    - BANK_DEPOSIT_KE
                    - BANK_DEPOSIT_GH
                    - BANK_DEPOSIT_ZA
                    - BANK_DEPOSIT_TZ
                    - BANK_DEPOSIT_UG
                    - BANK_DEPOSIT_RW
                    - BANK_DEPOSIT_MW
                    - BANK_DEPOSIT_ZM
                    - BANK_DEPOSIT_BW
                    - BANK_DEPOSIT_CD
                    - BANK_DEPOSIT_XOF
                    - BANK_DEPOSIT_XAF
                    - MOBILE_MONEY_NG
                    - MOBILE_MONEY_KE
                    - MOBILE_MONEY_GH
                    - MOBILE_MONEY_ZA
                    - MOBILE_MONEY_TZ
                    - MOBILE_MONEY_UG
                    - MOBILE_MONEY_RW
                    - MOBILE_MONEY_MW
                    - MOBILE_MONEY_ZM
                    - MOBILE_MONEY_BW
                    - MOBILE_MONEY_CD
                    - MOBILE_MONEY_XOF
                    - MOBILE_MONEY_XAF
                    - ACH_US
                    - GBP_BANK_TRANSFER
                  description: Rail for the deposit for fiat deposits
                  examples:
                    - SEPA
                    - MATIC
              required:
                - currency
      description: >-
        Request schema for creating a deposit. Must provide either userData or
        userDataId.
    CreateDepositResponse:
      type: object
      properties:
        depositId:
          type: string
          minLength: 1
          description: >-
            ID of the deposit. Normally a 12-character internal id; deposits
            created before mid-2026 may carry a longer legacy id. Treat it as an
            opaque string.
        externalReference:
          type: string
          minLength: 1
          maxLength: 128
          description: >-
            Your own reference for this deposit. Stored as-is and returned on
            create, detail and list, so you can look the deposit up by it after
            a network timeout instead of retrying blind. Not interpreted by
            VirtuaBroker and not shown to the payer — for the payer's transfer
            reference use depositInfo.referenceCode.
          examples:
            - partner-ref-0001
            - inv_2026_00417
        userData:
          oneOf:
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - individual
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: >-
                    Last name of the user making the deposit (or representative
                    for business)
                  examples:
                    - Doe
                    - Smith
                    - Johnson
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - firstName
                - userEmail
                - country
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - business
                businessName:
                  type: string
                  maxLength: 150
                  description: Business name (required when userType is business)
                  examples:
                    - Acme Corp
                    - Tech Solutions Inc
                    - Global Services Ltd
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - businessName
                - firstName
                - userEmail
                - country
          description: User data of the person/company making the deposit
          examples:
            - userType: individual
              firstName: John
              lastName: Doe
              userEmail: user@virtuabroker.com
              address: 123 Main St, Anytown, ES
              taxId: 123-45-6789
              country: ES
            - userType: individual
              firstName: Alice
              lastName: Smith
              userEmail: alice@example.com
              address: 456 Elm St, Anytown, ES
              taxId: 987-65-4321
              country: ES
        createdAt:
          type: number
          description: Creation time of the deposit
          examples:
            - 1723027132
            - 1723027133
            - 1723027134
        rail:
          type: string
          enum:
            - BALANCE
            - SEPA
            - BTC
            - ETH
            - MATIC
            - POLYGON
            - CELO
            - TRON
            - SOLANA
            - ARBITRUM
            - OPTIMISM
            - AVALANCHE
            - BSC
            - BASE
            - XRP
            - PIX_BR
            - UPI
            - IMPS
            - TRY_BANK_TRANSFER
            - AED_BANK_TRANSFER
            - SPEI
            - IDR_BANK_TRANSFER
            - CREDIT_CARD
            - THAI_QR
            - VIET_QR
            - GCASH
            - ARGENTINA_BANK_TRANSFER
            - PSE
            - CLABE
            - PIX
            - BANK_DEPOSIT_COL
            - BANK_DEPOSIT_AR
            - BANK_DEPOSIT_CL
            - BANK_DEPOSIT_PE
            - BANK_DEPOSIT_BO
            - BANK_DEPOSIT_BR
            - BANK_DEPOSIT_NG
            - BANK_DEPOSIT_KE
            - BANK_DEPOSIT_GH
            - BANK_DEPOSIT_ZA
            - BANK_DEPOSIT_TZ
            - BANK_DEPOSIT_UG
            - BANK_DEPOSIT_RW
            - BANK_DEPOSIT_MW
            - BANK_DEPOSIT_ZM
            - BANK_DEPOSIT_BW
            - BANK_DEPOSIT_CD
            - BANK_DEPOSIT_XOF
            - BANK_DEPOSIT_XAF
            - MOBILE_MONEY_NG
            - MOBILE_MONEY_KE
            - MOBILE_MONEY_GH
            - MOBILE_MONEY_ZA
            - MOBILE_MONEY_TZ
            - MOBILE_MONEY_UG
            - MOBILE_MONEY_RW
            - MOBILE_MONEY_MW
            - MOBILE_MONEY_ZM
            - MOBILE_MONEY_BW
            - MOBILE_MONEY_CD
            - MOBILE_MONEY_XOF
            - MOBILE_MONEY_XAF
            - ACH_US
            - GBP_BANK_TRANSFER
          description: Rail of the deposit
        receivedAt:
          type: number
          description: >-
            Unix ms timestamp of when the funds for this deposit ARRIVED —
            recorded when the incoming payment is matched to the deposit, which
            is before it is credited. Present whenever funds have arrived,
            including a deposit whose funds are still held in review; omitted
            entirely when no funds ever arrived, so a never-funded or cancelled
            deposit has no value here and its presence is a reliable settlement
            signal for reconciliation. Identical on GET /v1/deposits and GET
            /v1/deposits/{depositId}. Note that the deposit object embedded in
            order and operation responses does not yet apply this rule — it
            returns the stored value. Not the creation time — use createdAt for
            that.
          examples:
            - 1723027132000
            - 1723027133000
            - 1723027134000
        expectedAmount:
          type: number
          minimum: 0
          description: Amount expected of the deposit
          examples:
            - 1000
            - 2000
            - 3000
        amount:
          type: number
          minimum: 0
          description: Amount received of the deposit
          examples:
            - 1000
            - 2000
            - 3000
        currency:
          anyOf:
            - type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - MXN
                - ARS
                - COP
                - PEN
                - NGN
                - KES
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
            - type: string
              enum:
                - USDC
                - USDT
                - CUSD
                - BTC
                - ETH
                - POL
                - SOL
                - TRX
                - AVAX
                - XRP
                - BNB
          description: Currency of the deposit
          examples:
            - EUR
            - BRL
        fee:
          type: number
          minimum: 0
          description: >-
            Fee for the deposit. This value is written once the deposit has been
            executed. Meanwhile it will appear 0.
          example: 10
        expectedFee:
          type: number
          minimum: 0
          description: >-
            Fee for the deposit. This value is correlated with the expected
            amount for the deposit.
          examples:
            - 10
            - 20
            - 30
        feeCurrency:
          anyOf:
            - type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - MXN
                - ARS
                - COP
                - PEN
                - NGN
                - KES
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
            - type: string
              enum:
                - USDC
                - USDT
                - CUSD
                - BTC
                - ETH
                - POL
                - SOL
                - TRX
                - AVAX
                - XRP
                - BNB
          description: Currency of the fee
          examples:
            - EUR
            - BRL
        status:
          anyOf:
            - type: string
              enum:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
              description: Common status values that are shared across all operation types
              examples:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
            - type: string
              enum:
                - PendingCancel
                - Received
          description: Status of the deposit
          examples:
            - Pending
            - Success
            - Failed
            - Received
            - PendingCancel
        depositInfo:
          oneOf:
            - type: object
              properties:
                accountHolder:
                  type: string
                  description: Name of the account holder
                  example: John Doe
                iban:
                  type: string
                  description: SEPA Bank Account Number
                  example: DE8937XXXXXXXXXXXX3000
                bic:
                  type: string
                  description: Bank BIC/SWIFT code
                  example: DEUTDEFF
                bankName:
                  type: string
                  description: Name of the bank
                  example: Deutsche Bank
                bankAddress:
                  type: string
                  description: Address of the bank
                  example: Taunusanlage 12
                bankCity:
                  type: string
                  description: City of the bank
                  example: Frankfurt am Main
                bankZipcode:
                  type: string
                  description: Zipcode of the bank
                  example: '60325'
                bankCountry:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country of the bank
                  example: DE
                depositType:
                  type: string
                  enum:
                    - SEPA
                amount:
                  type: number
                  minimum: 0
                  description: >-
                    Expected deposit amount. It can be 0 for open-amount bank
                    transfers where the sender chooses the final amount from
                    their bank.
                  example: 1000
                referenceCode:
                  type: string
                  minLength: 1
                  description: >-
                    A unique identifier for the deposit, crucial for matching
                    the deposit with the corresponding order. The user must
                    include this code when making the deposit to ensure accurate
                    processing. In cases where the reference code is incorrect
                    or missing, we manually match orders based on the sender's
                    name and other available details. In case the deposit is not
                    matched, we will mark the order as Reviewing and the system
                    will require manual attention.
                  example: REF123456
                extraDepositMethods:
                  type: array
                  items:
                    type: object
                    properties:
                      methodType:
                        type: string
                        enum:
                          - HOSTED_CHECKOUT
                        description: >-
                          HOSTED_CHECKOUT: a hosted payment page to send the
                          payer to (card). More types may be added — treat an
                          unknown value as unsupported and fall back to the bank
                          details in `depositInfo`.
                      url:
                        type: string
                        description: >-
                          URL to send the payer to. For HOSTED_CHECKOUT,
                          redirect the payer here (or embed it) to pay by card.
                        example: https://checkout.example.com/pay/abc123
                      callbackUrl:
                        type: string
                        description: >-
                          Where the payer’s BROWSER is returned after paying.
                          Informational only: it is not a server-to-server
                          notification, and a payer landing there is NOT proof
                          of payment — rely on the deposit status or webhooks
                          for that.
                      referenceCode:
                        type: string
                        description: >-
                          Payment reference for this method (equals the
                          deposit/order reference)
                      amount:
                        type: number
                        description: >-
                          Amount payable via this method when it differs from
                          the deposit amount (e.g. a method-specific surcharge)
                      currency:
                        type: string
                        description: Currency of this method
                      expiresAt:
                        type: number
                        description: >-
                          Unix ms after which `url` is no longer valid, when
                          known
                    required:
                      - methodType
                      - url
                    description: An additional, optional way to pay this deposit
                  description: >-
                    Additional, optional ways to pay this same deposit (e.g. a
                    hosted card page). The bank details above remain the primary
                    method; ignore this field if you only support bank transfer.
              required:
                - depositType
                - amount
                - referenceCode
              description: >-
                Detailed information about a bank deposit, including the amount
                and a unique reference code for identification.
            - type: object
              properties:
                address:
                  type: string
                  minLength: 1
                  description: Crypto wallet address
                  example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                network:
                  type: string
                  enum:
                    - MATIC
                    - ETH
                    - CELO
                    - TRON
                    - BTC
                    - SOLANA
                    - XRP
                    - CARDANO
                    - BSC
                    - ARBITRUM
                    - OPTIMISM
                    - AVALANCHE
                    - BASE
                  description: Network for the deposit for crypto deposits
                  examples:
                    - ETH
                    - MATIC
                    - CELO
                memo:
                  type: string
                  description: Optional memo for the transaction
                  example: Payment for services
                depositType:
                  type: string
                  enum:
                    - CRYPTO
                qrCode:
                  type: string
                  description: Base64-encoded QR image for the deposit address
                  example: >-
                    iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                qrCodeUrl:
                  type: string
                  format: uri
                  description: 7-day signed GCS URL of the QR code PNG
                qrCodeExpiresAt:
                  type: number
                  description: Unix timestamp (ms) when qrCodeUrl expires
                receivingAddress:
                  type: string
                  description: The wallet address where funds should be sent
                  example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                tokenContract:
                  type: string
                  description: The ERC20 token contract address
                  example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                decimals:
                  type: number
                  description: Token decimals (default 18)
                  example: 18
              required:
                - address
                - network
                - depositType
              description: Crypto Deposit Information
            - type: object
              properties:
                base64QRCode:
                  type: string
                  minLength: 1
                  description: Base64 encoded QR code
                  example: base64QRCode
                qrCodeString:
                  type: string
                  minLength: 1
                  description: >-
                    The Pix copy-and-paste code (BR Code payload) the payer
                    pastes into their bank app. Pass it through unchanged — it
                    carries its own checksum.
                  example: qrCodeString
                referenceCode:
                  type: string
                  minLength: 1
                  description: >-
                    A unique identifier for the deposit, crucial for matching
                    the deposit with the corresponding order
                  example: REF123456
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: >-
                    The monetary value to be deposited into the bank. This
                    amount should be positive and accurately reflect the
                    intended deposit.
                  example: 1000
                depositType:
                  type: string
                  enum:
                    - PIX
              required:
                - base64QRCode
                - qrCodeString
                - referenceCode
                - amount
                - depositType
              description: Pix Deposit Information
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - CREDIT_CARD
              required:
                - depositType
            - type: object
              properties:
                bankName:
                  type: string
                  description: Name of the bank (present when the rail provides it)
                accountHolder:
                  type: string
                  description: >-
                    Name of the account holder (present when the rail provides
                    it)
                clabe:
                  type: string
                  description: CLABE number
                accountNumber:
                  type: string
                  description: >-
                    Bank account number (e.g. from the BANK_TRANSFER payment
                    method)
                reference:
                  type: string
                  description: >-
                    Payment reference (e.g. from the BANK_TRANSFER payment
                    method)
                depositType:
                  type: string
                  enum:
                    - CLABE
                  description: Type of the deposit
              required:
                - clabe
                - depositType
            - type: object
              properties:
                url:
                  type: string
                  description: URL of the PSE payment
                amountPrefilled:
                  type: boolean
                  description: >-
                    Whether the payment page already carries the amount. When
                    false or absent, the payer must enter it.
                depositType:
                  type: string
                  enum:
                    - PSE
                  description: Type of the deposit
              required:
                - url
                - depositType
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BALANCE
              required:
                - depositType
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - PENDING
                currency:
                  type: string
                  description: Currency of the deposit
                referenceCode:
                  type: string
                  description: Reference code for the order/deposit
                amount:
                  type: number
                  minimum: 0
                  description: >-
                    Expected deposit amount. It can be 0 while bank transfer
                    details are open-amount or still being provisioned.
                extraDepositMethods:
                  type: array
                  items:
                    type: object
                    properties:
                      methodType:
                        type: string
                        enum:
                          - HOSTED_CHECKOUT
                        description: >-
                          HOSTED_CHECKOUT: a hosted payment page to send the
                          payer to (card). More types may be added — treat an
                          unknown value as unsupported and fall back to the bank
                          details in `depositInfo`.
                      url:
                        type: string
                        description: >-
                          URL to send the payer to. For HOSTED_CHECKOUT,
                          redirect the payer here (or embed it) to pay by card.
                        example: https://checkout.example.com/pay/abc123
                      callbackUrl:
                        type: string
                        description: >-
                          Where the payer’s BROWSER is returned after paying.
                          Informational only: it is not a server-to-server
                          notification, and a payer landing there is NOT proof
                          of payment — rely on the deposit status or webhooks
                          for that.
                      referenceCode:
                        type: string
                        description: >-
                          Payment reference for this method (equals the
                          deposit/order reference)
                      amount:
                        type: number
                        description: >-
                          Amount payable via this method when it differs from
                          the deposit amount (e.g. a method-specific surcharge)
                      currency:
                        type: string
                        description: Currency of this method
                      expiresAt:
                        type: number
                        description: >-
                          Unix ms after which `url` is no longer valid, when
                          known
                    required:
                      - methodType
                      - url
                    description: An additional, optional way to pay this deposit
                  description: >-
                    Additional ways to pay while the bank details are being
                    provisioned (e.g. a hosted card page). Optional — ignore it
                    and wait for the bank details if you only support bank
                    transfer.
                pendingReason:
                  type: string
                  enum:
                    - collection_account_activating
                    - accountless_per_account_corridor
                  description: >-
                    Why the instructions are still being provisioned, when the
                    reason is known. `collection_account_activating` means the
                    collection account for this payer is being activated and
                    payable details are expected shortly.
                    `accountless_per_account_corridor` means this corridor
                    collects only into a collection account dedicated to the
                    paying account, this request names no account, and none can
                    be created for it — so payable details will NOT arrive by
                    waiting; create the deposit against an account instead.
                    Absence never conveys timing on either surface: here it
                    means only that no reason is classifiable, and an
                    account-level deposit-method instruction never carries the
                    field at all. Treat the values as an open set and ignore any
                    you do not recognise.
              required:
                - depositType
                - currency
                - referenceCode
                - amount
              description: >-
                Deposit details are being provisioned; poll the order/deposit or
                wait for webhook
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - IMPS
                accountNumber:
                  type: string
                  description: Account number
                bankName:
                  type: string
                  description: Name of the bank
                accountHolder:
                  type: string
                  description: Name of the account holder
                ifsc:
                  type: string
                  description: ifsc number
                type:
                  type: string
                  description: Type of the deposit
                branch:
                  type: string
                  description: Branch of the bank
                bank:
                  type: string
                  description: Bank of the account
                otp:
                  type: string
                  description: OTP of the deposit
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - accountNumber
                - bankName
                - accountHolder
                - ifsc
                - type
                - branch
                - bank
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - UPI
                vpa:
                  type: string
                  description: Virtual Payment Address
                name:
                  type: string
                  description: Name of the account holder
                otp:
                  type: string
                  description: OTP for the transaction
                paymentLink:
                  type: string
                  description: Payment link
                upiNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional UPI instructions
              required:
                - depositType
                - vpa
                - name
                - otp
                - paymentLink
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - AED_BANK_TRANSFER
                iban:
                  type: string
                  description: International Bank Account Number
                name:
                  type: string
                  description: Name of the account holder
                bank:
                  type: string
                  description: Bank name
                type:
                  type: string
                  description: Account type
                address:
                  type: string
                  description: Bank address
                email:
                  type: string
                  description: Contact email
                phoneNumber:
                  type: string
                  description: Contact phone number
                transferCode:
                  type: string
                  description: Transfer code
                poBox:
                  type: string
                  description: P.O. Box
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - iban
                - name
                - bank
                - type
                - address
                - email
                - phoneNumber
                - transferCode
                - poBox
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - SPEI
                clabe:
                  type: string
                  description: CLABE number
                name:
                  type: string
                  description: Name of the account holder
                bank:
                  type: string
                  description: Bank name
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - clabe
                - name
                - bank
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - TRY_BANK_TRANSFER
                iban:
                  type: string
                  description: International Bank Account Number
                name:
                  type: string
                  description: Name of the account holder
                bank:
                  type: string
                  description: Bank name
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - iban
                - name
                - bank
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - IDR_BANK_TRANSFER
                virtualAccount:
                  type: string
                  description: Virtual account number
                name:
                  type: string
                  description: Name of the account holder
                bank:
                  type: string
                  description: Bank name
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - virtualAccount
                - name
                - bank
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - THAI_QR
                qrCode:
                  type: string
                  description: QR code
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - qrCode
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - VIET_QR
                qrCode:
                  type: string
                  description: QR code
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - qrCode
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - GCASH
                qrCode:
                  type: string
                  description: QR code
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - qrCode
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - ARGENTINA_BANK_TRANSFER
                accountNumber:
                  type: string
                  description: Account number
                accountHolder:
                  type: string
                  description: Account holder name
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - accountNumber
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - ACH_US
                routingNumber:
                  type: string
                  description: US bank ABA routing number
                accountNumber:
                  type: string
                  description: US bank account number
                beneficiaryName:
                  type: string
                  description: Beneficiary name on the account
                bankName:
                  type: string
                  description: Name of the bank
                bankAddress:
                  type: string
                  description: Address of the bank
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names (e.g. ACH, Wire)
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount in USD
                referenceCode:
                  type: string
                  minLength: 1
                  description: Reference code to include in the wire/ACH transfer
              required:
                - depositType
                - routingNumber
                - accountNumber
                - beneficiaryName
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - ACH_PULL
              required:
                - depositType
              description: >-
                Funds are pulled from the holder's own linked US bank account;
                no transfer instructions apply
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - LOCALBANK
                  description: >-
                    Deprecated generic local-bank payin type. Superseded by the
                    corridor-specific deposit types (e.g. SEPA, ACH_US,
                    GBP_BANK_TRANSFER, CLABE/SPEI, PIX, ARGENTINA_BANK_TRANSFER,
                    BANK_DEPOSIT_<CC>). Still returned on some corridors and on
                    historical records, so integrators must continue to handle
                    it. Discover the applicable per-currency method via GET
                    /v1/currencies/{currency}/payin-schema.
                  deprecated: true
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - GBP_BANK_TRANSFER
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: UK bank account number
                sortCode:
                  type: string
                  description: UK sort code
                bankName:
                  type: string
                  description: Name of the bank
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                schemes:
                  type: array
                  items:
                    type: string
                  description: >-
                    Accepted payment scheme names (e.g. Faster Payments, CHAPS,
                    BACS)
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount in GBP
                referenceCode:
                  type: string
                  minLength: 1
                  description: Reference code to include in the transfer
              required:
                - depositType
                - accountHolder
                - accountNumber
                - sortCode
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_COL
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CL
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BO
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BR
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_NG
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_KE
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_GH
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZA
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TZ
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_UG
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_RW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZM
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CD
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XOF
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XAF
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_NG
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_KE
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_GH
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZA
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_TZ
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_UG
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_RW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_MW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZM
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_BW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_CD
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_XOF
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_XAF
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
          description: Details of the deposit
          examples:
            - accountHolder: John Doe
              iban: DE8937XXXXXXXXXXXX3000
              bic: COBADEFFXXX
              bankName: Commerzbank
              bankAddress: Mainzer Landstrasse 151-153
              bankCity: Frankfurt
              bankZipcode: '60327'
              bankCountry: DE
              amount: 1000
              referenceCode: ABC123
              depositType: SEPA
        depositInfoPending:
          type: boolean
          description: >-
            True while the payment instructions are still being prepared. Poll
            this deposit until it is false (or absent) before showing the
            instructions to the payer.
        complianceHold:
          type: object
          properties:
            reason:
              type: string
              enum:
                - screening
                - fiat_monitoring
              description: Compliance hold reason
          required:
            - reason
          description: >-
            Present while the inbound transfer funding this deposit is held in
            provider compliance review. The deposit stays Reviewing (amount 0,
            never credited) until the hold clears (promote to Received) or the
            transfer is rejected/returned (terminalize).
      required:
        - depositId
        - createdAt
        - expectedAmount
        - amount
        - currency
        - fee
        - expectedFee
        - feeCurrency
        - status
        - depositInfo
      description: Response schema for creating a deposit
    GetDepositRequest:
      type: object
      properties:
        depositId:
          type: string
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z0-9]{12}$
          description: ID of the deposit
          examples:
            - 01CLFXMT67II
            - 2R7E5Y5KFXP8
            - 4FWWRE3Y2URM
      required:
        - depositId
      description: Request schema for getting deposit details
    GetDepositResponse:
      type: object
      properties:
        depositId:
          type: string
          minLength: 1
          description: >-
            ID of the deposit. Normally a 12-character internal id; deposits
            created before mid-2026 may carry a longer legacy id. Treat it as an
            opaque string.
        externalReference:
          type: string
          minLength: 1
          maxLength: 128
          description: >-
            Your own reference for this deposit. Stored as-is and returned on
            create, detail and list, so you can look the deposit up by it after
            a network timeout instead of retrying blind. Not interpreted by
            VirtuaBroker and not shown to the payer — for the payer's transfer
            reference use depositInfo.referenceCode.
          examples:
            - partner-ref-0001
            - inv_2026_00417
        userData:
          oneOf:
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - individual
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: >-
                    Last name of the user making the deposit (or representative
                    for business)
                  examples:
                    - Doe
                    - Smith
                    - Johnson
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - firstName
                - userEmail
                - country
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - business
                businessName:
                  type: string
                  maxLength: 150
                  description: Business name (required when userType is business)
                  examples:
                    - Acme Corp
                    - Tech Solutions Inc
                    - Global Services Ltd
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - businessName
                - firstName
                - userEmail
                - country
          description: User data of the person/company making the deposit
          examples:
            - userType: individual
              firstName: John
              lastName: Doe
              userEmail: user@virtuabroker.com
              address: 123 Main St, Anytown, ES
              taxId: 123-45-6789
              country: ES
            - userType: individual
              firstName: Alice
              lastName: Smith
              userEmail: alice@example.com
              address: 456 Elm St, Anytown, ES
              taxId: 987-65-4321
              country: ES
        createdAt:
          type: number
          description: Creation time of the deposit
          examples:
            - 1723027132
            - 1723027133
            - 1723027134
        rail:
          type: string
          enum:
            - BALANCE
            - SEPA
            - BTC
            - ETH
            - MATIC
            - POLYGON
            - CELO
            - TRON
            - SOLANA
            - ARBITRUM
            - OPTIMISM
            - AVALANCHE
            - BSC
            - BASE
            - XRP
            - PIX_BR
            - UPI
            - IMPS
            - TRY_BANK_TRANSFER
            - AED_BANK_TRANSFER
            - SPEI
            - IDR_BANK_TRANSFER
            - CREDIT_CARD
            - THAI_QR
            - VIET_QR
            - GCASH
            - ARGENTINA_BANK_TRANSFER
            - PSE
            - CLABE
            - PIX
            - BANK_DEPOSIT_COL
            - BANK_DEPOSIT_AR
            - BANK_DEPOSIT_CL
            - BANK_DEPOSIT_PE
            - BANK_DEPOSIT_BO
            - BANK_DEPOSIT_BR
            - BANK_DEPOSIT_NG
            - BANK_DEPOSIT_KE
            - BANK_DEPOSIT_GH
            - BANK_DEPOSIT_ZA
            - BANK_DEPOSIT_TZ
            - BANK_DEPOSIT_UG
            - BANK_DEPOSIT_RW
            - BANK_DEPOSIT_MW
            - BANK_DEPOSIT_ZM
            - BANK_DEPOSIT_BW
            - BANK_DEPOSIT_CD
            - BANK_DEPOSIT_XOF
            - BANK_DEPOSIT_XAF
            - MOBILE_MONEY_NG
            - MOBILE_MONEY_KE
            - MOBILE_MONEY_GH
            - MOBILE_MONEY_ZA
            - MOBILE_MONEY_TZ
            - MOBILE_MONEY_UG
            - MOBILE_MONEY_RW
            - MOBILE_MONEY_MW
            - MOBILE_MONEY_ZM
            - MOBILE_MONEY_BW
            - MOBILE_MONEY_CD
            - MOBILE_MONEY_XOF
            - MOBILE_MONEY_XAF
            - ACH_US
            - GBP_BANK_TRANSFER
          description: Rail of the deposit
        receivedAt:
          type: number
          description: >-
            Unix ms timestamp of when the funds for this deposit ARRIVED —
            recorded when the incoming payment is matched to the deposit, which
            is before it is credited. Present whenever funds have arrived,
            including a deposit whose funds are still held in review; omitted
            entirely when no funds ever arrived, so a never-funded or cancelled
            deposit has no value here and its presence is a reliable settlement
            signal for reconciliation. Identical on GET /v1/deposits and GET
            /v1/deposits/{depositId}. Note that the deposit object embedded in
            order and operation responses does not yet apply this rule — it
            returns the stored value. Not the creation time — use createdAt for
            that.
          examples:
            - 1723027132000
            - 1723027133000
            - 1723027134000
        expectedAmount:
          type: number
          minimum: 0
          description: Amount expected of the deposit
          examples:
            - 1000
            - 2000
            - 3000
        amount:
          type: number
          minimum: 0
          description: Amount received of the deposit
          examples:
            - 1000
            - 2000
            - 3000
        currency:
          anyOf:
            - type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - MXN
                - ARS
                - COP
                - PEN
                - NGN
                - KES
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
            - type: string
              enum:
                - USDC
                - USDT
                - CUSD
                - BTC
                - ETH
                - POL
                - SOL
                - TRX
                - AVAX
                - XRP
                - BNB
          description: Currency of the deposit
          examples:
            - EUR
            - BRL
        fee:
          type: number
          minimum: 0
          description: >-
            Fee for the deposit. This value is written once the deposit has been
            executed. Meanwhile it will appear 0.
          example: 10
        expectedFee:
          type: number
          minimum: 0
          description: >-
            Fee for the deposit. This value is correlated with the expected
            amount for the deposit.
          examples:
            - 10
            - 20
            - 30
        feeCurrency:
          anyOf:
            - type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - MXN
                - ARS
                - COP
                - PEN
                - NGN
                - KES
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
            - type: string
              enum:
                - USDC
                - USDT
                - CUSD
                - BTC
                - ETH
                - POL
                - SOL
                - TRX
                - AVAX
                - XRP
                - BNB
          description: Currency of the fee
          examples:
            - EUR
            - BRL
        status:
          anyOf:
            - type: string
              enum:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
              description: Common status values that are shared across all operation types
              examples:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
            - type: string
              enum:
                - PendingCancel
                - Received
          description: Status of the deposit
          examples:
            - Pending
            - Success
            - Failed
            - Received
            - PendingCancel
        depositInfo:
          oneOf:
            - type: object
              properties:
                accountHolder:
                  type: string
                  description: Name of the account holder
                  example: John Doe
                iban:
                  type: string
                  description: SEPA Bank Account Number
                  example: DE8937XXXXXXXXXXXX3000
                bic:
                  type: string
                  description: Bank BIC/SWIFT code
                  example: DEUTDEFF
                bankName:
                  type: string
                  description: Name of the bank
                  example: Deutsche Bank
                bankAddress:
                  type: string
                  description: Address of the bank
                  example: Taunusanlage 12
                bankCity:
                  type: string
                  description: City of the bank
                  example: Frankfurt am Main
                bankZipcode:
                  type: string
                  description: Zipcode of the bank
                  example: '60325'
                bankCountry:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country of the bank
                  example: DE
                depositType:
                  type: string
                  enum:
                    - SEPA
                amount:
                  type: number
                  minimum: 0
                  description: >-
                    Expected deposit amount. It can be 0 for open-amount bank
                    transfers where the sender chooses the final amount from
                    their bank.
                  example: 1000
                referenceCode:
                  type: string
                  minLength: 1
                  description: >-
                    A unique identifier for the deposit, crucial for matching
                    the deposit with the corresponding order. The user must
                    include this code when making the deposit to ensure accurate
                    processing. In cases where the reference code is incorrect
                    or missing, we manually match orders based on the sender's
                    name and other available details. In case the deposit is not
                    matched, we will mark the order as Reviewing and the system
                    will require manual attention.
                  example: REF123456
                extraDepositMethods:
                  type: array
                  items:
                    type: object
                    properties:
                      methodType:
                        type: string
                        enum:
                          - HOSTED_CHECKOUT
                        description: >-
                          HOSTED_CHECKOUT: a hosted payment page to send the
                          payer to (card). More types may be added — treat an
                          unknown value as unsupported and fall back to the bank
                          details in `depositInfo`.
                      url:
                        type: string
                        description: >-
                          URL to send the payer to. For HOSTED_CHECKOUT,
                          redirect the payer here (or embed it) to pay by card.
                        example: https://checkout.example.com/pay/abc123
                      callbackUrl:
                        type: string
                        description: >-
                          Where the payer’s BROWSER is returned after paying.
                          Informational only: it is not a server-to-server
                          notification, and a payer landing there is NOT proof
                          of payment — rely on the deposit status or webhooks
                          for that.
                      referenceCode:
                        type: string
                        description: >-
                          Payment reference for this method (equals the
                          deposit/order reference)
                      amount:
                        type: number
                        description: >-
                          Amount payable via this method when it differs from
                          the deposit amount (e.g. a method-specific surcharge)
                      currency:
                        type: string
                        description: Currency of this method
                      expiresAt:
                        type: number
                        description: >-
                          Unix ms after which `url` is no longer valid, when
                          known
                    required:
                      - methodType
                      - url
                    description: An additional, optional way to pay this deposit
                  description: >-
                    Additional, optional ways to pay this same deposit (e.g. a
                    hosted card page). The bank details above remain the primary
                    method; ignore this field if you only support bank transfer.
              required:
                - depositType
                - amount
                - referenceCode
              description: >-
                Detailed information about a bank deposit, including the amount
                and a unique reference code for identification.
            - type: object
              properties:
                address:
                  type: string
                  minLength: 1
                  description: Crypto wallet address
                  example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                network:
                  type: string
                  enum:
                    - MATIC
                    - ETH
                    - CELO
                    - TRON
                    - BTC
                    - SOLANA
                    - XRP
                    - CARDANO
                    - BSC
                    - ARBITRUM
                    - OPTIMISM
                    - AVALANCHE
                    - BASE
                  description: Network for the deposit for crypto deposits
                  examples:
                    - ETH
                    - MATIC
                    - CELO
                memo:
                  type: string
                  description: Optional memo for the transaction
                  example: Payment for services
                depositType:
                  type: string
                  enum:
                    - CRYPTO
                qrCode:
                  type: string
                  description: Base64-encoded QR image for the deposit address
                  example: >-
                    iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                qrCodeUrl:
                  type: string
                  format: uri
                  description: 7-day signed GCS URL of the QR code PNG
                qrCodeExpiresAt:
                  type: number
                  description: Unix timestamp (ms) when qrCodeUrl expires
                receivingAddress:
                  type: string
                  description: The wallet address where funds should be sent
                  example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                tokenContract:
                  type: string
                  description: The ERC20 token contract address
                  example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                decimals:
                  type: number
                  description: Token decimals (default 18)
                  example: 18
              required:
                - address
                - network
                - depositType
              description: Crypto Deposit Information
            - type: object
              properties:
                base64QRCode:
                  type: string
                  minLength: 1
                  description: Base64 encoded QR code
                  example: base64QRCode
                qrCodeString:
                  type: string
                  minLength: 1
                  description: >-
                    The Pix copy-and-paste code (BR Code payload) the payer
                    pastes into their bank app. Pass it through unchanged — it
                    carries its own checksum.
                  example: qrCodeString
                referenceCode:
                  type: string
                  minLength: 1
                  description: >-
                    A unique identifier for the deposit, crucial for matching
                    the deposit with the corresponding order
                  example: REF123456
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: >-
                    The monetary value to be deposited into the bank. This
                    amount should be positive and accurately reflect the
                    intended deposit.
                  example: 1000
                depositType:
                  type: string
                  enum:
                    - PIX
              required:
                - base64QRCode
                - qrCodeString
                - referenceCode
                - amount
                - depositType
              description: Pix Deposit Information
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - CREDIT_CARD
              required:
                - depositType
            - type: object
              properties:
                bankName:
                  type: string
                  description: Name of the bank (present when the rail provides it)
                accountHolder:
                  type: string
                  description: >-
                    Name of the account holder (present when the rail provides
                    it)
                clabe:
                  type: string
                  description: CLABE number
                accountNumber:
                  type: string
                  description: >-
                    Bank account number (e.g. from the BANK_TRANSFER payment
                    method)
                reference:
                  type: string
                  description: >-
                    Payment reference (e.g. from the BANK_TRANSFER payment
                    method)
                depositType:
                  type: string
                  enum:
                    - CLABE
                  description: Type of the deposit
              required:
                - clabe
                - depositType
            - type: object
              properties:
                url:
                  type: string
                  description: URL of the PSE payment
                amountPrefilled:
                  type: boolean
                  description: >-
                    Whether the payment page already carries the amount. When
                    false or absent, the payer must enter it.
                depositType:
                  type: string
                  enum:
                    - PSE
                  description: Type of the deposit
              required:
                - url
                - depositType
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BALANCE
              required:
                - depositType
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - PENDING
                currency:
                  type: string
                  description: Currency of the deposit
                referenceCode:
                  type: string
                  description: Reference code for the order/deposit
                amount:
                  type: number
                  minimum: 0
                  description: >-
                    Expected deposit amount. It can be 0 while bank transfer
                    details are open-amount or still being provisioned.
                extraDepositMethods:
                  type: array
                  items:
                    type: object
                    properties:
                      methodType:
                        type: string
                        enum:
                          - HOSTED_CHECKOUT
                        description: >-
                          HOSTED_CHECKOUT: a hosted payment page to send the
                          payer to (card). More types may be added — treat an
                          unknown value as unsupported and fall back to the bank
                          details in `depositInfo`.
                      url:
                        type: string
                        description: >-
                          URL to send the payer to. For HOSTED_CHECKOUT,
                          redirect the payer here (or embed it) to pay by card.
                        example: https://checkout.example.com/pay/abc123
                      callbackUrl:
                        type: string
                        description: >-
                          Where the payer’s BROWSER is returned after paying.
                          Informational only: it is not a server-to-server
                          notification, and a payer landing there is NOT proof
                          of payment — rely on the deposit status or webhooks
                          for that.
                      referenceCode:
                        type: string
                        description: >-
                          Payment reference for this method (equals the
                          deposit/order reference)
                      amount:
                        type: number
                        description: >-
                          Amount payable via this method when it differs from
                          the deposit amount (e.g. a method-specific surcharge)
                      currency:
                        type: string
                        description: Currency of this method
                      expiresAt:
                        type: number
                        description: >-
                          Unix ms after which `url` is no longer valid, when
                          known
                    required:
                      - methodType
                      - url
                    description: An additional, optional way to pay this deposit
                  description: >-
                    Additional ways to pay while the bank details are being
                    provisioned (e.g. a hosted card page). Optional — ignore it
                    and wait for the bank details if you only support bank
                    transfer.
                pendingReason:
                  type: string
                  enum:
                    - collection_account_activating
                    - accountless_per_account_corridor
                  description: >-
                    Why the instructions are still being provisioned, when the
                    reason is known. `collection_account_activating` means the
                    collection account for this payer is being activated and
                    payable details are expected shortly.
                    `accountless_per_account_corridor` means this corridor
                    collects only into a collection account dedicated to the
                    paying account, this request names no account, and none can
                    be created for it — so payable details will NOT arrive by
                    waiting; create the deposit against an account instead.
                    Absence never conveys timing on either surface: here it
                    means only that no reason is classifiable, and an
                    account-level deposit-method instruction never carries the
                    field at all. Treat the values as an open set and ignore any
                    you do not recognise.
              required:
                - depositType
                - currency
                - referenceCode
                - amount
              description: >-
                Deposit details are being provisioned; poll the order/deposit or
                wait for webhook
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - IMPS
                accountNumber:
                  type: string
                  description: Account number
                bankName:
                  type: string
                  description: Name of the bank
                accountHolder:
                  type: string
                  description: Name of the account holder
                ifsc:
                  type: string
                  description: ifsc number
                type:
                  type: string
                  description: Type of the deposit
                branch:
                  type: string
                  description: Branch of the bank
                bank:
                  type: string
                  description: Bank of the account
                otp:
                  type: string
                  description: OTP of the deposit
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - accountNumber
                - bankName
                - accountHolder
                - ifsc
                - type
                - branch
                - bank
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - UPI
                vpa:
                  type: string
                  description: Virtual Payment Address
                name:
                  type: string
                  description: Name of the account holder
                otp:
                  type: string
                  description: OTP for the transaction
                paymentLink:
                  type: string
                  description: Payment link
                upiNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional UPI instructions
              required:
                - depositType
                - vpa
                - name
                - otp
                - paymentLink
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - AED_BANK_TRANSFER
                iban:
                  type: string
                  description: International Bank Account Number
                name:
                  type: string
                  description: Name of the account holder
                bank:
                  type: string
                  description: Bank name
                type:
                  type: string
                  description: Account type
                address:
                  type: string
                  description: Bank address
                email:
                  type: string
                  description: Contact email
                phoneNumber:
                  type: string
                  description: Contact phone number
                transferCode:
                  type: string
                  description: Transfer code
                poBox:
                  type: string
                  description: P.O. Box
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - iban
                - name
                - bank
                - type
                - address
                - email
                - phoneNumber
                - transferCode
                - poBox
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - SPEI
                clabe:
                  type: string
                  description: CLABE number
                name:
                  type: string
                  description: Name of the account holder
                bank:
                  type: string
                  description: Bank name
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - clabe
                - name
                - bank
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - TRY_BANK_TRANSFER
                iban:
                  type: string
                  description: International Bank Account Number
                name:
                  type: string
                  description: Name of the account holder
                bank:
                  type: string
                  description: Bank name
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - iban
                - name
                - bank
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - IDR_BANK_TRANSFER
                virtualAccount:
                  type: string
                  description: Virtual account number
                name:
                  type: string
                  description: Name of the account holder
                bank:
                  type: string
                  description: Bank name
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - virtualAccount
                - name
                - bank
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - THAI_QR
                qrCode:
                  type: string
                  description: QR code
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - qrCode
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - VIET_QR
                qrCode:
                  type: string
                  description: QR code
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - qrCode
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - GCASH
                qrCode:
                  type: string
                  description: QR code
                otp:
                  type: string
                  description: OTP for the transaction
                bankNotes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: number
                        description: 'Type of note: -1 for warning, 1 for info'
                      msg:
                        type: string
                        description: Message content
                    required:
                      - type
                      - msg
                  description: Additional bank instructions
              required:
                - depositType
                - qrCode
                - otp
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - ARGENTINA_BANK_TRANSFER
                accountNumber:
                  type: string
                  description: Account number
                accountHolder:
                  type: string
                  description: Account holder name
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - accountNumber
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - ACH_US
                routingNumber:
                  type: string
                  description: US bank ABA routing number
                accountNumber:
                  type: string
                  description: US bank account number
                beneficiaryName:
                  type: string
                  description: Beneficiary name on the account
                bankName:
                  type: string
                  description: Name of the bank
                bankAddress:
                  type: string
                  description: Address of the bank
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names (e.g. ACH, Wire)
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount in USD
                referenceCode:
                  type: string
                  minLength: 1
                  description: Reference code to include in the wire/ACH transfer
              required:
                - depositType
                - routingNumber
                - accountNumber
                - beneficiaryName
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - ACH_PULL
              required:
                - depositType
              description: >-
                Funds are pulled from the holder's own linked US bank account;
                no transfer instructions apply
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - LOCALBANK
                  description: >-
                    Deprecated generic local-bank payin type. Superseded by the
                    corridor-specific deposit types (e.g. SEPA, ACH_US,
                    GBP_BANK_TRANSFER, CLABE/SPEI, PIX, ARGENTINA_BANK_TRANSFER,
                    BANK_DEPOSIT_<CC>). Still returned on some corridors and on
                    historical records, so integrators must continue to handle
                    it. Discover the applicable per-currency method via GET
                    /v1/currencies/{currency}/payin-schema.
                  deprecated: true
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - GBP_BANK_TRANSFER
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: UK bank account number
                sortCode:
                  type: string
                  description: UK sort code
                bankName:
                  type: string
                  description: Name of the bank
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                schemes:
                  type: array
                  items:
                    type: string
                  description: >-
                    Accepted payment scheme names (e.g. Faster Payments, CHAPS,
                    BACS)
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount in GBP
                referenceCode:
                  type: string
                  minLength: 1
                  description: Reference code to include in the transfer
              required:
                - depositType
                - accountHolder
                - accountNumber
                - sortCode
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_COL
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CL
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BO
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BR
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_NG
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_KE
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_GH
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZA
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TZ
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_UG
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_RW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZM
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CD
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XOF
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XAF
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_NG
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_KE
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_GH
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZA
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_TZ
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_UG
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_RW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_MW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZM
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_BW
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_CD
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_XOF
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - MOBILE_MONEY_XAF
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
                amount:
                  type: number
                  minimum: 0
                  description: Expected deposit amount
                referenceCode:
                  type: string
                  description: Reference code for the transfer
              required:
                - depositType
                - amount
                - referenceCode
          description: Details of the deposit
          examples:
            - accountHolder: John Doe
              iban: DE8937XXXXXXXXXXXX3000
              bic: COBADEFFXXX
              bankName: Commerzbank
              bankAddress: Mainzer Landstrasse 151-153
              bankCity: Frankfurt
              bankZipcode: '60327'
              bankCountry: DE
              amount: 1000
              referenceCode: ABC123
              depositType: SEPA
        depositInfoPending:
          type: boolean
          description: >-
            True while the payment instructions are still being prepared. Poll
            this deposit until it is false (or absent) before showing the
            instructions to the payer.
        complianceHold:
          type: object
          properties:
            reason:
              type: string
              enum:
                - screening
                - fiat_monitoring
              description: Compliance hold reason
          required:
            - reason
          description: >-
            Present while the inbound transfer funding this deposit is held in
            provider compliance review. The deposit stays Reviewing (amount 0,
            never credited) until the hold clears (promote to Received) or the
            transfer is rejected/returned (terminalize).
        pendingPaymentReview:
          type: object
          properties:
            reason:
              type: string
              enum:
                - name_mismatch
                - amount_mismatch
                - low_confidence
              description: >-
                Why the payment was not linked automatically. name_mismatch =
                the payer name differs from the holder; amount_mismatch = the
                amount differs from the expected one; low_confidence = not
                enough matching detail. These are the SYSTEM codes for why the
                payment was not auto-linked; they are not the operator-supplied
                preLinked.reasonCode published by GET /v1/pending-payments.
              examples:
                - amount_mismatch
          required:
            - reason
          additionalProperties: false
          description: >-
            Present when a payment has arrived for this deposit and is awaiting
            a link decision. Retrieve and act on it via GET
            /v1/pending-payments. Absent when no payment is awaiting a decision
            — its absence does NOT mean no payment arrived, only that none is
            pending review.
      required:
        - depositId
        - createdAt
        - expectedAmount
        - amount
        - currency
        - fee
        - expectedFee
        - feeCurrency
        - status
        - depositInfo
      description: Response schema for getting deposit details
    DeleteDepositRequest:
      type: object
      properties:
        depositId:
          type: string
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z0-9]{12}$
          description: ID of the deposit
          examples:
            - 01CLFXMT67II
            - 2R7E5Y5KFXP8
            - 4FWWRE3Y2URM
      required:
        - depositId
      description: Request schema for deleting a deposit
    DeleteDepositResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the deletion was successful
        message:
          type: string
          description: Success message
      required:
        - success
      description: Response schema for successful deletion
    ListDepositsRequest:
      type: object
      properties:
        currency:
          anyOf:
            - type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - MXN
                - ARS
                - COP
                - PEN
                - NGN
                - KES
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
            - type: string
              enum:
                - USDC
                - USDT
                - CUSD
                - BTC
                - ETH
                - POL
                - SOL
                - TRX
                - AVAX
                - XRP
                - BNB
          description: Optional currency code to filter the deposits
          examples:
            - EUR
        minAmount:
          type: number
          minimum: 0
        maxAmount:
          type: number
          minimum: 0
        from:
          type: integer
          minimum: 0
        to:
          type: integer
          minimum: 0
        userEmail:
          type: string
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          example: user@example.com
        search:
          type: string
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
        limit:
          type: integer
          minimum: 1
          description: >-
            Deposits per page. Defaults to 10. A full page means there may be
            more — use `page` to continue, or GET /v1/deposits/count for the
            total. Large pages are accepted; very large ones are bounded by the
            search backend and will report an error rather than silently
            returning fewer rows.
          example: 50
        page:
          type: integer
          minimum: 1
          description: 1-based page number. Defaults to 1.
          example: 1
        status:
          anyOf:
            - type: string
              enum:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
              description: Common status values that are shared across all operation types
              examples:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
            - type: string
              enum:
                - PendingCancel
                - Received
            - type: array
              items:
                anyOf:
                  - type: string
                    enum:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                    description: >-
                      Common status values that are shared across all operation
                      types
                    examples:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                  - type: string
                    enum:
                      - PendingCancel
                      - Received
                description: Status for deposit operations
                examples:
                  - Pending
                  - Success
                  - Failed
                  - Received
                  - PendingCancel
          description: >-
            Optional status to filter deposits. Can be a single status or an
            array of statuses for multiple filtering
          examples:
            - Pending
            - - Pending
              - Success
            - - Pending
              - Processing
              - Success
      additionalProperties: false
      description: Request schema for listing deposits
    ListDepositsResponse:
      type: array
      items:
        type: object
        properties:
          depositId:
            type: string
            minLength: 1
            description: >-
              ID of the deposit. Normally a 12-character internal id; deposits
              created before mid-2026 may carry a longer legacy id. Treat it as
              an opaque string.
          externalReference:
            type: string
            minLength: 1
            maxLength: 128
            description: >-
              Your own reference for this deposit. Stored as-is and returned on
              create, detail and list, so you can look the deposit up by it
              after a network timeout instead of retrying blind. Not interpreted
              by VirtuaBroker and not shown to the payer — for the payer's
              transfer reference use depositInfo.referenceCode.
            examples:
              - partner-ref-0001
              - inv_2026_00417
          userData:
            oneOf:
              - type: object
                properties:
                  userType:
                    type: string
                    enum:
                      - individual
                  firstName:
                    type: string
                    minLength: 1
                    maxLength: 50
                    description: >-
                      First name of the user making the deposit (or
                      representative for business)
                    examples:
                      - John
                      - Alice
                      - Bob
                  lastName:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: >-
                      Last name of the user making the deposit (or
                      representative for business)
                    examples:
                      - Doe
                      - Smith
                      - Johnson
                  userEmail:
                    type: string
                    maxLength: 254
                    format: email
                    pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                    description: Email of the user making the deposit
                    examples:
                      - user@virtuabroker.com
                      - john.doe@example.com
                      - alice@example.com
                  address:
                    type: string
                    maxLength: 150
                    description: Address of the user making the deposit
                    examples:
                      - 123 Main St, Anytown, ES
                      - 456 Elm St, Anytown, ES
                      - 789 Oak St, Anytown, ES
                  taxDocumentType:
                    type: string
                    maxLength: 50
                    description: >-
                      Tax document type of the user making the deposit. Common
                      values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                      string is accepted.
                    examples:
                      - CC
                      - NIT
                      - CE
                      - NIF
                      - Other
                  taxId:
                    type: string
                    maxLength: 30
                    description: Tax ID of the user making the deposit
                    examples:
                      - 123-45-6789
                      - 987-65-4321
                      - 111-22-3333
                  country:
                    type: string
                    enum:
                      - US
                      - CA
                      - GB
                      - DE
                      - FR
                      - AU
                      - JP
                      - KR
                      - SE
                      - 'NO'
                      - DK
                      - FI
                      - NL
                      - BE
                      - CH
                      - AT
                      - NZ
                      - SG
                      - IE
                      - LU
                      - PT
                      - ES
                      - IT
                      - GR
                      - CZ
                      - PL
                      - HU
                      - SK
                      - SI
                      - EE
                      - LT
                      - LV
                      - IS
                      - MT
                      - CY
                      - HR
                      - RO
                      - BG
                      - BR
                      - AR
                      - CL
                      - MX
                      - CO
                      - PE
                      - PA
                      - UY
                      - BO
                      - ZA
                      - NG
                      - KE
                      - GH
                      - TZ
                      - UG
                      - RW
                      - MW
                      - ZM
                      - BW
                      - CD
                      - CI
                      - CM
                      - IL
                      - AE
                      - QA
                      - SA
                      - OM
                      - KW
                      - BH
                      - MY
                      - PH
                      - TH
                      - VN
                      - ID
                      - IN
                      - LK
                      - NP
                      - BD
                      - PK
                      - EG
                      - MA
                      - DZ
                      - TN
                      - JO
                      - LB
                      - TR
                      - KH
                      - MM
                      - LA
                      - EN
                      - BT
                      - VE
                      - TW
                      - HK
                      - CN
                    description: Country code of the user making the deposit
                    examples:
                      - ES
                      - US
                      - GB
                  state:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: State of the user making the deposit
                    examples:
                      - Madrid
                      - New York
                      - London
                  postalCode:
                    type: string
                    minLength: 1
                    maxLength: 30
                    description: Postal code of the user making the deposit
                    examples:
                      - '12345'
                      - '67890'
                      - abcde
                  city:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: City of the user making the deposit
                    examples:
                      - Madrid
                      - New York
                      - London
                  dob:
                    type: string
                    minLength: 1
                    maxLength: 30
                    description: Date of birth of the user making the deposit
                    examples:
                      - '1990-01-01'
                      - '1995-05-15'
                      - '1988-12-31'
                  phoneNumber:
                    type: string
                    maxLength: 30
                    description: Phone number of the user making the deposit
                    examples:
                      - '+447700900123'
                      - '+447700900456'
                      - '+447700900789'
                  kycId:
                    type: string
                    minLength: 1
                    maxLength: 300
                    description: >-
                      KYC ID of the user making the deposit on your platform (if
                      the KYC is done by you, add the url)
                    examples:
                      - kyc-12345
                      - kyc-67890
                      - kyc-abcde
                  activity:
                    type: string
                    description: Activity of the user making the deposit
                    examples:
                      - worker
                      - business
                      - student
                required:
                  - userType
                  - firstName
                  - userEmail
                  - country
              - type: object
                properties:
                  userType:
                    type: string
                    enum:
                      - business
                  businessName:
                    type: string
                    maxLength: 150
                    description: Business name (required when userType is business)
                    examples:
                      - Acme Corp
                      - Tech Solutions Inc
                      - Global Services Ltd
                  firstName:
                    type: string
                    minLength: 1
                    maxLength: 50
                    description: >-
                      First name of the user making the deposit (or
                      representative for business)
                    examples:
                      - John
                      - Alice
                      - Bob
                  userEmail:
                    type: string
                    maxLength: 254
                    format: email
                    pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                    description: Email of the user making the deposit
                    examples:
                      - user@virtuabroker.com
                      - john.doe@example.com
                      - alice@example.com
                  address:
                    type: string
                    maxLength: 150
                    description: Address of the user making the deposit
                    examples:
                      - 123 Main St, Anytown, ES
                      - 456 Elm St, Anytown, ES
                      - 789 Oak St, Anytown, ES
                  taxDocumentType:
                    type: string
                    maxLength: 50
                    description: >-
                      Tax document type of the user making the deposit. Common
                      values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                      string is accepted.
                    examples:
                      - CC
                      - NIT
                      - CE
                      - NIF
                      - Other
                  taxId:
                    type: string
                    maxLength: 30
                    description: Tax ID of the user making the deposit
                    examples:
                      - 123-45-6789
                      - 987-65-4321
                      - 111-22-3333
                  country:
                    type: string
                    enum:
                      - US
                      - CA
                      - GB
                      - DE
                      - FR
                      - AU
                      - JP
                      - KR
                      - SE
                      - 'NO'
                      - DK
                      - FI
                      - NL
                      - BE
                      - CH
                      - AT
                      - NZ
                      - SG
                      - IE
                      - LU
                      - PT
                      - ES
                      - IT
                      - GR
                      - CZ
                      - PL
                      - HU
                      - SK
                      - SI
                      - EE
                      - LT
                      - LV
                      - IS
                      - MT
                      - CY
                      - HR
                      - RO
                      - BG
                      - BR
                      - AR
                      - CL
                      - MX
                      - CO
                      - PE
                      - PA
                      - UY
                      - BO
                      - ZA
                      - NG
                      - KE
                      - GH
                      - TZ
                      - UG
                      - RW
                      - MW
                      - ZM
                      - BW
                      - CD
                      - CI
                      - CM
                      - IL
                      - AE
                      - QA
                      - SA
                      - OM
                      - KW
                      - BH
                      - MY
                      - PH
                      - TH
                      - VN
                      - ID
                      - IN
                      - LK
                      - NP
                      - BD
                      - PK
                      - EG
                      - MA
                      - DZ
                      - TN
                      - JO
                      - LB
                      - TR
                      - KH
                      - MM
                      - LA
                      - EN
                      - BT
                      - VE
                      - TW
                      - HK
                      - CN
                    description: Country code of the user making the deposit
                    examples:
                      - ES
                      - US
                      - GB
                  state:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: State of the user making the deposit
                    examples:
                      - Madrid
                      - New York
                      - London
                  postalCode:
                    type: string
                    minLength: 1
                    maxLength: 30
                    description: Postal code of the user making the deposit
                    examples:
                      - '12345'
                      - '67890'
                      - abcde
                  city:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: City of the user making the deposit
                    examples:
                      - Madrid
                      - New York
                      - London
                  dob:
                    type: string
                    minLength: 1
                    maxLength: 30
                    description: Date of birth of the user making the deposit
                    examples:
                      - '1990-01-01'
                      - '1995-05-15'
                      - '1988-12-31'
                  phoneNumber:
                    type: string
                    maxLength: 30
                    description: Phone number of the user making the deposit
                    examples:
                      - '+447700900123'
                      - '+447700900456'
                      - '+447700900789'
                  kycId:
                    type: string
                    minLength: 1
                    maxLength: 300
                    description: >-
                      KYC ID of the user making the deposit on your platform (if
                      the KYC is done by you, add the url)
                    examples:
                      - kyc-12345
                      - kyc-67890
                      - kyc-abcde
                  activity:
                    type: string
                    description: Activity of the user making the deposit
                    examples:
                      - worker
                      - business
                      - student
                required:
                  - userType
                  - businessName
                  - firstName
                  - userEmail
                  - country
            description: User data of the person/company making the deposit
            examples:
              - userType: individual
                firstName: John
                lastName: Doe
                userEmail: user@virtuabroker.com
                address: 123 Main St, Anytown, ES
                taxId: 123-45-6789
                country: ES
              - userType: individual
                firstName: Alice
                lastName: Smith
                userEmail: alice@example.com
                address: 456 Elm St, Anytown, ES
                taxId: 987-65-4321
                country: ES
          createdAt:
            type: number
            description: Creation time of the deposit
            examples:
              - 1723027132
              - 1723027133
              - 1723027134
          rail:
            type: string
            enum:
              - BALANCE
              - SEPA
              - BTC
              - ETH
              - MATIC
              - POLYGON
              - CELO
              - TRON
              - SOLANA
              - ARBITRUM
              - OPTIMISM
              - AVALANCHE
              - BSC
              - BASE
              - XRP
              - PIX_BR
              - UPI
              - IMPS
              - TRY_BANK_TRANSFER
              - AED_BANK_TRANSFER
              - SPEI
              - IDR_BANK_TRANSFER
              - CREDIT_CARD
              - THAI_QR
              - VIET_QR
              - GCASH
              - ARGENTINA_BANK_TRANSFER
              - PSE
              - CLABE
              - PIX
              - BANK_DEPOSIT_COL
              - BANK_DEPOSIT_AR
              - BANK_DEPOSIT_CL
              - BANK_DEPOSIT_PE
              - BANK_DEPOSIT_BO
              - BANK_DEPOSIT_BR
              - BANK_DEPOSIT_NG
              - BANK_DEPOSIT_KE
              - BANK_DEPOSIT_GH
              - BANK_DEPOSIT_ZA
              - BANK_DEPOSIT_TZ
              - BANK_DEPOSIT_UG
              - BANK_DEPOSIT_RW
              - BANK_DEPOSIT_MW
              - BANK_DEPOSIT_ZM
              - BANK_DEPOSIT_BW
              - BANK_DEPOSIT_CD
              - BANK_DEPOSIT_XOF
              - BANK_DEPOSIT_XAF
              - MOBILE_MONEY_NG
              - MOBILE_MONEY_KE
              - MOBILE_MONEY_GH
              - MOBILE_MONEY_ZA
              - MOBILE_MONEY_TZ
              - MOBILE_MONEY_UG
              - MOBILE_MONEY_RW
              - MOBILE_MONEY_MW
              - MOBILE_MONEY_ZM
              - MOBILE_MONEY_BW
              - MOBILE_MONEY_CD
              - MOBILE_MONEY_XOF
              - MOBILE_MONEY_XAF
              - ACH_US
              - GBP_BANK_TRANSFER
            description: Rail of the deposit
          receivedAt:
            type: number
            description: >-
              Unix ms timestamp of when the funds for this deposit ARRIVED —
              recorded when the incoming payment is matched to the deposit,
              which is before it is credited. Present whenever funds have
              arrived, including a deposit whose funds are still held in review;
              omitted entirely when no funds ever arrived, so a never-funded or
              cancelled deposit has no value here and its presence is a reliable
              settlement signal for reconciliation. Identical on GET
              /v1/deposits and GET /v1/deposits/{depositId}. Note that the
              deposit object embedded in order and operation responses does not
              yet apply this rule — it returns the stored value. Not the
              creation time — use createdAt for that.
            examples:
              - 1723027132000
              - 1723027133000
              - 1723027134000
          expectedAmount:
            type: number
            minimum: 0
            description: Amount expected of the deposit
            examples:
              - 1000
              - 2000
              - 3000
          amount:
            type: number
            minimum: 0
            description: Amount received of the deposit
            examples:
              - 1000
              - 2000
              - 3000
          currency:
            anyOf:
              - type: string
                enum:
                  - EUR
                  - USD
                  - GBP
                  - BRL
                  - MXN
                  - ARS
                  - COP
                  - PEN
                  - NGN
                  - KES
                  - TZS
                  - UGX
                  - RWF
                  - MWK
                  - ZMW
                  - XOF
                  - XAF
                  - BWP
              - type: string
                enum:
                  - USDC
                  - USDT
                  - CUSD
                  - BTC
                  - ETH
                  - POL
                  - SOL
                  - TRX
                  - AVAX
                  - XRP
                  - BNB
            description: Currency of the deposit
            examples:
              - EUR
              - BRL
          fee:
            type: number
            minimum: 0
            description: >-
              Fee for the deposit. This value is written once the deposit has
              been executed. Meanwhile it will appear 0.
            example: 10
          expectedFee:
            type: number
            minimum: 0
            description: >-
              Fee for the deposit. This value is correlated with the expected
              amount for the deposit.
            examples:
              - 10
              - 20
              - 30
          feeCurrency:
            anyOf:
              - type: string
                enum:
                  - EUR
                  - USD
                  - GBP
                  - BRL
                  - MXN
                  - ARS
                  - COP
                  - PEN
                  - NGN
                  - KES
                  - TZS
                  - UGX
                  - RWF
                  - MWK
                  - ZMW
                  - XOF
                  - XAF
                  - BWP
              - type: string
                enum:
                  - USDC
                  - USDT
                  - CUSD
                  - BTC
                  - ETH
                  - POL
                  - SOL
                  - TRX
                  - AVAX
                  - XRP
                  - BNB
            description: Currency of the fee
            examples:
              - EUR
              - BRL
          status:
            anyOf:
              - type: string
                enum:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
                description: >-
                  Common status values that are shared across all operation
                  types
                examples:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
              - type: string
                enum:
                  - PendingCancel
                  - Received
            description: Status of the deposit
            examples:
              - Pending
              - Success
              - Failed
              - Received
              - PendingCancel
          depositInfo:
            oneOf:
              - type: object
                properties:
                  accountHolder:
                    type: string
                    description: Name of the account holder
                    example: John Doe
                  iban:
                    type: string
                    description: SEPA Bank Account Number
                    example: DE8937XXXXXXXXXXXX3000
                  bic:
                    type: string
                    description: Bank BIC/SWIFT code
                    example: DEUTDEFF
                  bankName:
                    type: string
                    description: Name of the bank
                    example: Deutsche Bank
                  bankAddress:
                    type: string
                    description: Address of the bank
                    example: Taunusanlage 12
                  bankCity:
                    type: string
                    description: City of the bank
                    example: Frankfurt am Main
                  bankZipcode:
                    type: string
                    description: Zipcode of the bank
                    example: '60325'
                  bankCountry:
                    type: string
                    enum:
                      - US
                      - CA
                      - GB
                      - DE
                      - FR
                      - AU
                      - JP
                      - KR
                      - SE
                      - 'NO'
                      - DK
                      - FI
                      - NL
                      - BE
                      - CH
                      - AT
                      - NZ
                      - SG
                      - IE
                      - LU
                      - PT
                      - ES
                      - IT
                      - GR
                      - CZ
                      - PL
                      - HU
                      - SK
                      - SI
                      - EE
                      - LT
                      - LV
                      - IS
                      - MT
                      - CY
                      - HR
                      - RO
                      - BG
                      - BR
                      - AR
                      - CL
                      - MX
                      - CO
                      - PE
                      - PA
                      - UY
                      - BO
                      - ZA
                      - NG
                      - KE
                      - GH
                      - TZ
                      - UG
                      - RW
                      - MW
                      - ZM
                      - BW
                      - CD
                      - CI
                      - CM
                      - IL
                      - AE
                      - QA
                      - SA
                      - OM
                      - KW
                      - BH
                      - MY
                      - PH
                      - TH
                      - VN
                      - ID
                      - IN
                      - LK
                      - NP
                      - BD
                      - PK
                      - EG
                      - MA
                      - DZ
                      - TN
                      - JO
                      - LB
                      - TR
                      - KH
                      - MM
                      - LA
                      - EN
                      - BT
                      - VE
                      - TW
                      - HK
                      - CN
                    description: Country of the bank
                    example: DE
                  depositType:
                    type: string
                    enum:
                      - SEPA
                  amount:
                    type: number
                    minimum: 0
                    description: >-
                      Expected deposit amount. It can be 0 for open-amount bank
                      transfers where the sender chooses the final amount from
                      their bank.
                    example: 1000
                  referenceCode:
                    type: string
                    minLength: 1
                    description: >-
                      A unique identifier for the deposit, crucial for matching
                      the deposit with the corresponding order. The user must
                      include this code when making the deposit to ensure
                      accurate processing. In cases where the reference code is
                      incorrect or missing, we manually match orders based on
                      the sender's name and other available details. In case the
                      deposit is not matched, we will mark the order as
                      Reviewing and the system will require manual attention.
                    example: REF123456
                  extraDepositMethods:
                    type: array
                    items:
                      type: object
                      properties:
                        methodType:
                          type: string
                          enum:
                            - HOSTED_CHECKOUT
                          description: >-
                            HOSTED_CHECKOUT: a hosted payment page to send the
                            payer to (card). More types may be added — treat an
                            unknown value as unsupported and fall back to the
                            bank details in `depositInfo`.
                        url:
                          type: string
                          description: >-
                            URL to send the payer to. For HOSTED_CHECKOUT,
                            redirect the payer here (or embed it) to pay by
                            card.
                          example: https://checkout.example.com/pay/abc123
                        callbackUrl:
                          type: string
                          description: >-
                            Where the payer’s BROWSER is returned after paying.
                            Informational only: it is not a server-to-server
                            notification, and a payer landing there is NOT proof
                            of payment — rely on the deposit status or webhooks
                            for that.
                        referenceCode:
                          type: string
                          description: >-
                            Payment reference for this method (equals the
                            deposit/order reference)
                        amount:
                          type: number
                          description: >-
                            Amount payable via this method when it differs from
                            the deposit amount (e.g. a method-specific
                            surcharge)
                        currency:
                          type: string
                          description: Currency of this method
                        expiresAt:
                          type: number
                          description: >-
                            Unix ms after which `url` is no longer valid, when
                            known
                      required:
                        - methodType
                        - url
                      description: An additional, optional way to pay this deposit
                    description: >-
                      Additional, optional ways to pay this same deposit (e.g. a
                      hosted card page). The bank details above remain the
                      primary method; ignore this field if you only support bank
                      transfer.
                required:
                  - depositType
                  - amount
                  - referenceCode
                description: >-
                  Detailed information about a bank deposit, including the
                  amount and a unique reference code for identification.
              - type: object
                properties:
                  address:
                    type: string
                    minLength: 1
                    description: Crypto wallet address
                    example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                  network:
                    type: string
                    enum:
                      - MATIC
                      - ETH
                      - CELO
                      - TRON
                      - BTC
                      - SOLANA
                      - XRP
                      - CARDANO
                      - BSC
                      - ARBITRUM
                      - OPTIMISM
                      - AVALANCHE
                      - BASE
                    description: Network for the deposit for crypto deposits
                    examples:
                      - ETH
                      - MATIC
                      - CELO
                  memo:
                    type: string
                    description: Optional memo for the transaction
                    example: Payment for services
                  depositType:
                    type: string
                    enum:
                      - CRYPTO
                  qrCode:
                    type: string
                    description: Base64-encoded QR image for the deposit address
                    example: >-
                      iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                  qrCodeUrl:
                    type: string
                    format: uri
                    description: 7-day signed GCS URL of the QR code PNG
                  qrCodeExpiresAt:
                    type: number
                    description: Unix timestamp (ms) when qrCodeUrl expires
                  receivingAddress:
                    type: string
                    description: The wallet address where funds should be sent
                    example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                  tokenContract:
                    type: string
                    description: The ERC20 token contract address
                    example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                  decimals:
                    type: number
                    description: Token decimals (default 18)
                    example: 18
                required:
                  - address
                  - network
                  - depositType
                description: Crypto Deposit Information
              - type: object
                properties:
                  base64QRCode:
                    type: string
                    minLength: 1
                    description: Base64 encoded QR code
                    example: base64QRCode
                  qrCodeString:
                    type: string
                    minLength: 1
                    description: >-
                      The Pix copy-and-paste code (BR Code payload) the payer
                      pastes into their bank app. Pass it through unchanged — it
                      carries its own checksum.
                    example: qrCodeString
                  referenceCode:
                    type: string
                    minLength: 1
                    description: >-
                      A unique identifier for the deposit, crucial for matching
                      the deposit with the corresponding order
                    example: REF123456
                  amount:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: >-
                      The monetary value to be deposited into the bank. This
                      amount should be positive and accurately reflect the
                      intended deposit.
                    example: 1000
                  depositType:
                    type: string
                    enum:
                      - PIX
                required:
                  - base64QRCode
                  - qrCodeString
                  - referenceCode
                  - amount
                  - depositType
                description: Pix Deposit Information
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - CREDIT_CARD
                required:
                  - depositType
              - type: object
                properties:
                  bankName:
                    type: string
                    description: Name of the bank (present when the rail provides it)
                  accountHolder:
                    type: string
                    description: >-
                      Name of the account holder (present when the rail provides
                      it)
                  clabe:
                    type: string
                    description: CLABE number
                  accountNumber:
                    type: string
                    description: >-
                      Bank account number (e.g. from the BANK_TRANSFER payment
                      method)
                  reference:
                    type: string
                    description: >-
                      Payment reference (e.g. from the BANK_TRANSFER payment
                      method)
                  depositType:
                    type: string
                    enum:
                      - CLABE
                    description: Type of the deposit
                required:
                  - clabe
                  - depositType
              - type: object
                properties:
                  url:
                    type: string
                    description: URL of the PSE payment
                  amountPrefilled:
                    type: boolean
                    description: >-
                      Whether the payment page already carries the amount. When
                      false or absent, the payer must enter it.
                  depositType:
                    type: string
                    enum:
                      - PSE
                    description: Type of the deposit
                required:
                  - url
                  - depositType
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BALANCE
                required:
                  - depositType
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - PENDING
                  currency:
                    type: string
                    description: Currency of the deposit
                  referenceCode:
                    type: string
                    description: Reference code for the order/deposit
                  amount:
                    type: number
                    minimum: 0
                    description: >-
                      Expected deposit amount. It can be 0 while bank transfer
                      details are open-amount or still being provisioned.
                  extraDepositMethods:
                    type: array
                    items:
                      type: object
                      properties:
                        methodType:
                          type: string
                          enum:
                            - HOSTED_CHECKOUT
                          description: >-
                            HOSTED_CHECKOUT: a hosted payment page to send the
                            payer to (card). More types may be added — treat an
                            unknown value as unsupported and fall back to the
                            bank details in `depositInfo`.
                        url:
                          type: string
                          description: >-
                            URL to send the payer to. For HOSTED_CHECKOUT,
                            redirect the payer here (or embed it) to pay by
                            card.
                          example: https://checkout.example.com/pay/abc123
                        callbackUrl:
                          type: string
                          description: >-
                            Where the payer’s BROWSER is returned after paying.
                            Informational only: it is not a server-to-server
                            notification, and a payer landing there is NOT proof
                            of payment — rely on the deposit status or webhooks
                            for that.
                        referenceCode:
                          type: string
                          description: >-
                            Payment reference for this method (equals the
                            deposit/order reference)
                        amount:
                          type: number
                          description: >-
                            Amount payable via this method when it differs from
                            the deposit amount (e.g. a method-specific
                            surcharge)
                        currency:
                          type: string
                          description: Currency of this method
                        expiresAt:
                          type: number
                          description: >-
                            Unix ms after which `url` is no longer valid, when
                            known
                      required:
                        - methodType
                        - url
                      description: An additional, optional way to pay this deposit
                    description: >-
                      Additional ways to pay while the bank details are being
                      provisioned (e.g. a hosted card page). Optional — ignore
                      it and wait for the bank details if you only support bank
                      transfer.
                  pendingReason:
                    type: string
                    enum:
                      - collection_account_activating
                      - accountless_per_account_corridor
                    description: >-
                      Why the instructions are still being provisioned, when the
                      reason is known. `collection_account_activating` means the
                      collection account for this payer is being activated and
                      payable details are expected shortly.
                      `accountless_per_account_corridor` means this corridor
                      collects only into a collection account dedicated to the
                      paying account, this request names no account, and none
                      can be created for it — so payable details will NOT arrive
                      by waiting; create the deposit against an account instead.
                      Absence never conveys timing on either surface: here it
                      means only that no reason is classifiable, and an
                      account-level deposit-method instruction never carries the
                      field at all. Treat the values as an open set and ignore
                      any you do not recognise.
                required:
                  - depositType
                  - currency
                  - referenceCode
                  - amount
                description: >-
                  Deposit details are being provisioned; poll the order/deposit
                  or wait for webhook
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - IMPS
                  accountNumber:
                    type: string
                    description: Account number
                  bankName:
                    type: string
                    description: Name of the bank
                  accountHolder:
                    type: string
                    description: Name of the account holder
                  ifsc:
                    type: string
                    description: ifsc number
                  type:
                    type: string
                    description: Type of the deposit
                  branch:
                    type: string
                    description: Branch of the bank
                  bank:
                    type: string
                    description: Bank of the account
                  otp:
                    type: string
                    description: OTP of the deposit
                  bankNotes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: number
                          description: 'Type of note: -1 for warning, 1 for info'
                        msg:
                          type: string
                          description: Message content
                      required:
                        - type
                        - msg
                    description: Additional bank instructions
                required:
                  - depositType
                  - accountNumber
                  - bankName
                  - accountHolder
                  - ifsc
                  - type
                  - branch
                  - bank
                  - otp
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - UPI
                  vpa:
                    type: string
                    description: Virtual Payment Address
                  name:
                    type: string
                    description: Name of the account holder
                  otp:
                    type: string
                    description: OTP for the transaction
                  paymentLink:
                    type: string
                    description: Payment link
                  upiNotes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: number
                          description: 'Type of note: -1 for warning, 1 for info'
                        msg:
                          type: string
                          description: Message content
                      required:
                        - type
                        - msg
                    description: Additional UPI instructions
                required:
                  - depositType
                  - vpa
                  - name
                  - otp
                  - paymentLink
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - AED_BANK_TRANSFER
                  iban:
                    type: string
                    description: International Bank Account Number
                  name:
                    type: string
                    description: Name of the account holder
                  bank:
                    type: string
                    description: Bank name
                  type:
                    type: string
                    description: Account type
                  address:
                    type: string
                    description: Bank address
                  email:
                    type: string
                    description: Contact email
                  phoneNumber:
                    type: string
                    description: Contact phone number
                  transferCode:
                    type: string
                    description: Transfer code
                  poBox:
                    type: string
                    description: P.O. Box
                  otp:
                    type: string
                    description: OTP for the transaction
                  bankNotes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: number
                          description: 'Type of note: -1 for warning, 1 for info'
                        msg:
                          type: string
                          description: Message content
                      required:
                        - type
                        - msg
                    description: Additional bank instructions
                required:
                  - depositType
                  - iban
                  - name
                  - bank
                  - type
                  - address
                  - email
                  - phoneNumber
                  - transferCode
                  - poBox
                  - otp
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - SPEI
                  clabe:
                    type: string
                    description: CLABE number
                  name:
                    type: string
                    description: Name of the account holder
                  bank:
                    type: string
                    description: Bank name
                  bankNotes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: number
                          description: 'Type of note: -1 for warning, 1 for info'
                        msg:
                          type: string
                          description: Message content
                      required:
                        - type
                        - msg
                    description: Additional bank instructions
                required:
                  - depositType
                  - clabe
                  - name
                  - bank
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - TRY_BANK_TRANSFER
                  iban:
                    type: string
                    description: International Bank Account Number
                  name:
                    type: string
                    description: Name of the account holder
                  bank:
                    type: string
                    description: Bank name
                  otp:
                    type: string
                    description: OTP for the transaction
                  bankNotes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: number
                          description: 'Type of note: -1 for warning, 1 for info'
                        msg:
                          type: string
                          description: Message content
                      required:
                        - type
                        - msg
                    description: Additional bank instructions
                required:
                  - depositType
                  - iban
                  - name
                  - bank
                  - otp
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - IDR_BANK_TRANSFER
                  virtualAccount:
                    type: string
                    description: Virtual account number
                  name:
                    type: string
                    description: Name of the account holder
                  bank:
                    type: string
                    description: Bank name
                  bankNotes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: number
                          description: 'Type of note: -1 for warning, 1 for info'
                        msg:
                          type: string
                          description: Message content
                      required:
                        - type
                        - msg
                    description: Additional bank instructions
                required:
                  - depositType
                  - virtualAccount
                  - name
                  - bank
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - THAI_QR
                  qrCode:
                    type: string
                    description: QR code
                  otp:
                    type: string
                    description: OTP for the transaction
                  bankNotes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: number
                          description: 'Type of note: -1 for warning, 1 for info'
                        msg:
                          type: string
                          description: Message content
                      required:
                        - type
                        - msg
                    description: Additional bank instructions
                required:
                  - depositType
                  - qrCode
                  - otp
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - VIET_QR
                  qrCode:
                    type: string
                    description: QR code
                  otp:
                    type: string
                    description: OTP for the transaction
                  bankNotes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: number
                          description: 'Type of note: -1 for warning, 1 for info'
                        msg:
                          type: string
                          description: Message content
                      required:
                        - type
                        - msg
                    description: Additional bank instructions
                required:
                  - depositType
                  - qrCode
                  - otp
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - GCASH
                  qrCode:
                    type: string
                    description: QR code
                  otp:
                    type: string
                    description: OTP for the transaction
                  bankNotes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: number
                          description: 'Type of note: -1 for warning, 1 for info'
                        msg:
                          type: string
                          description: Message content
                      required:
                        - type
                        - msg
                    description: Additional bank instructions
                required:
                  - depositType
                  - qrCode
                  - otp
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - ARGENTINA_BANK_TRANSFER
                  accountNumber:
                    type: string
                    description: Account number
                  accountHolder:
                    type: string
                    description: Account holder name
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - accountNumber
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - ACH_US
                  routingNumber:
                    type: string
                    description: US bank ABA routing number
                  accountNumber:
                    type: string
                    description: US bank account number
                  beneficiaryName:
                    type: string
                    description: Beneficiary name on the account
                  bankName:
                    type: string
                    description: Name of the bank
                  bankAddress:
                    type: string
                    description: Address of the bank
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names (e.g. ACH, Wire)
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount in USD
                  referenceCode:
                    type: string
                    minLength: 1
                    description: Reference code to include in the wire/ACH transfer
                required:
                  - depositType
                  - routingNumber
                  - accountNumber
                  - beneficiaryName
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - ACH_PULL
                required:
                  - depositType
                description: >-
                  Funds are pulled from the holder's own linked US bank account;
                  no transfer instructions apply
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - LOCALBANK
                    description: >-
                      Deprecated generic local-bank payin type. Superseded by
                      the corridor-specific deposit types (e.g. SEPA, ACH_US,
                      GBP_BANK_TRANSFER, CLABE/SPEI, PIX,
                      ARGENTINA_BANK_TRANSFER, BANK_DEPOSIT_<CC>). Still
                      returned on some corridors and on historical records, so
                      integrators must continue to handle it. Discover the
                      applicable per-currency method via GET
                      /v1/currencies/{currency}/payin-schema.
                    deprecated: true
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - GBP_BANK_TRANSFER
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: UK bank account number
                  sortCode:
                    type: string
                    description: UK sort code
                  bankName:
                    type: string
                    description: Name of the bank
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  schemes:
                    type: array
                    items:
                      type: string
                    description: >-
                      Accepted payment scheme names (e.g. Faster Payments,
                      CHAPS, BACS)
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount in GBP
                  referenceCode:
                    type: string
                    minLength: 1
                    description: Reference code to include in the transfer
                required:
                  - depositType
                  - accountHolder
                  - accountNumber
                  - sortCode
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_COL
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_CL
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_BO
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_BR
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_NG
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_KE
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_GH
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_ZA
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_TZ
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_UG
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_RW
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_MW
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_ZM
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_BW
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_CD
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_XOF
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - BANK_DEPOSIT_XAF
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_NG
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_KE
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_GH
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_ZA
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_TZ
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_UG
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_RW
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_MW
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_ZM
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_BW
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_CD
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_XOF
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
              - type: object
                properties:
                  depositType:
                    type: string
                    enum:
                      - MOBILE_MONEY_XAF
                  accountHolder:
                    type: string
                    description: Account holder name
                  accountNumber:
                    type: string
                    description: Local bank account number
                  bankName:
                    type: string
                    description: Bank name
                  bankCountry:
                    type: string
                    description: ISO-3166 country code
                  routingCodes:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Routing code type (e.g. "routing_number",
                            "sort_code")
                        value:
                          type: string
                          description: Routing code value
                      required:
                        - type
                        - value
                    description: Routing identifiers (e.g. sort code, routing number)
                  schemes:
                    type: array
                    items:
                      type: string
                    description: Accepted payment scheme names for this account
                  amount:
                    type: number
                    minimum: 0
                    description: Expected deposit amount
                  referenceCode:
                    type: string
                    description: Reference code for the transfer
                required:
                  - depositType
                  - amount
                  - referenceCode
            description: Details of the deposit
            examples:
              - accountHolder: John Doe
                iban: DE8937XXXXXXXXXXXX3000
                bic: COBADEFFXXX
                bankName: Commerzbank
                bankAddress: Mainzer Landstrasse 151-153
                bankCity: Frankfurt
                bankZipcode: '60327'
                bankCountry: DE
                amount: 1000
                referenceCode: ABC123
                depositType: SEPA
          depositInfoPending:
            type: boolean
            description: >-
              True while the payment instructions are still being prepared. Poll
              this deposit until it is false (or absent) before showing the
              instructions to the payer.
          complianceHold:
            type: object
            properties:
              reason:
                type: string
                enum:
                  - screening
                  - fiat_monitoring
                description: Compliance hold reason
            required:
              - reason
            description: >-
              Present while the inbound transfer funding this deposit is held in
              provider compliance review. The deposit stays Reviewing (amount 0,
              never credited) until the hold clears (promote to Received) or the
              transfer is rejected/returned (terminalize).
        required:
          - depositId
          - createdAt
          - expectedAmount
          - amount
          - currency
          - fee
          - expectedFee
          - feeCurrency
          - status
          - depositInfo
        description: Deposit Data
      description: Response schema for listing deposits
    CreateOrderRequest:
      type: object
      properties:
        quoteId:
          type: string
          format: uuid
          description: The unique identifier of the created quote
          examples:
            - 123e4567-e89b-12d3-a456-426614174000
            - 987f6543-a21c-45d6-b789-012345678901
        accountId:
          type: string
          minLength: 1
          description: >-
            Execute the order on behalf of this managed customer (the customerId
            from /v1/banking/customers). The customer becomes the order origin —
            the party whose balance/identity the movement belongs to. Must
            belong to your workspace; a foreign or unknown id is rejected.
          examples:
            - jane.doe@example.com
        destination:
          type: object
          properties:
            contactId:
              type: string
              minLength: 1
              description: >-
                A saved contact of the on-behalf-of customer — the party
                receiving the funds.
            contactEmail:
              type: string
              minLength: 1
              maxLength: 254
              format: email
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: >-
                Email identifying the receiving party (alternative to
                contactId).
            addressId:
              type: string
              minLength: 1
              description: >-
                A saved destination method (payout address) of the on-behalf-of
                customer; its transfer details become the payout destination.
          additionalProperties: false
          description: >-
            Structured destination for on-behalf-of orders: pay out to a managed
            contact and/or one of the customer saved payout addresses. Requires
            accountId.
        originCountry:
          type: string
          minLength: 2
          maxLength: 2
          description: >-
            Collection country (ISO-3166 alpha-2) for a multi-country payin
            currency (CFA zones). Must be a valid collection country for the
            origin currency; omitted ⇒ the default collection country is used.
          examples:
            - CI
            - SN
            - CM
        userData:
          oneOf:
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - individual
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: >-
                    Last name of the user making the deposit (or representative
                    for business)
                  examples:
                    - Doe
                    - Smith
                    - Johnson
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - firstName
                - userEmail
                - country
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - business
                businessName:
                  type: string
                  maxLength: 150
                  description: Business name (required when userType is business)
                  examples:
                    - Acme Corp
                    - Tech Solutions Inc
                    - Global Services Ltd
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - businessName
                - firstName
                - userEmail
                - country
          description: >-
            Required when the quote origin is not BALANCE (payer). If the payer
            email is new, include address, city, postalCode, state, country,
            firstName, lastName, taxId, kycId for deposit provisioning.
        destinationUserData:
          oneOf:
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - individual
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: >-
                    Last name of the user making the deposit (or representative
                    for business)
                  examples:
                    - Doe
                    - Smith
                    - Johnson
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - firstName
                - userEmail
                - country
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - business
                businessName:
                  type: string
                  maxLength: 150
                  description: Business name (required when userType is business)
                  examples:
                    - Acme Corp
                    - Tech Solutions Inc
                    - Global Services Ltd
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - businessName
                - firstName
                - userEmail
                - country
          description: User data of the person/company that will receive the funds
        destinationTransferData:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BALANCE
              required:
                - type
              description: Balance transfer details
              title: Balance
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                iban:
                  type: string
                  description: IBAN number
                bic:
                  type: string
                  description: BIC number (optional)
                country:
                  type: string
                  description: Country code
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for SEPA payouts — provide
                    it here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for SEPA payouts —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as the
                    payout beneficiary `address.line1` when registering the
                    beneficiary. Stored on the saved transaction method so the
                    user does not have to re-supply it on every withdraw.
                type:
                  type: string
                  enum:
                    - SEPA
              required:
                - destinationName
                - iban
                - country
                - type
              description: SEPA transfer details
              title: SEPA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: UK bank account number
                sortCode:
                  type: string
                  description: UK sort code
                country:
                  type: string
                  enum:
                    - GB
                  default: GB
                  description: >-
                    ISO 3166 country code of the recipient (GBP transfer is
                    UK-based)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - GBP_BANK_TRANSFER
              required:
                - destinationName
                - accountNumber
                - sortCode
                - type
              description: GBP domestic bank transfer details
              title: BankDepositGB
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: US bank account number
                routingNumber:
                  type: string
                  description: US ABA routing number
                country:
                  type: string
                  enum:
                    - US
                  default: US
                  description: ISO 3166 country code of the recipient (ACH is US-domestic)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                bankAccountType:
                  type: string
                  enum:
                    - CHECKING
                    - SAVINGS
                  default: CHECKING
                  description: >-
                    Kind of bank account the payout lands in. Defaults to
                    CHECKING when omitted.
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                state:
                  type: string
                  pattern: ^[A-Z]{2}$
                  description: >-
                    Two-letter US state code of the recipient (e.g. NY).
                    REQUIRED for this rail.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - ACH_US
              required:
                - destinationName
                - accountNumber
                - routingNumber
                - state
                - type
              description: USD ACH transfer details
              title: AchUS
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - linkedBankAccount
                accountLinkId:
                  type: string
                  pattern: ^alnk_[0-9a-f]{24}$
                  description: >-
                    Identifier of one of the account holder own linked bank
                    accounts
                  examples:
                    - alnk_0123456789abcdef01234567
              required:
                - type
                - accountLinkId
              description: >-
                A bank account the account holder linked beforehand. Pays out
                only to the holder of the order; never to a third party. Not
                available yet.
              title: LinkedBankAccount
              deprecated: true
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ETH
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ETH destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ETH
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - MATIC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: MATIC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: MATIC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOL
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOL destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOL
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - TRON
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: TRON destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: TRON
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CELO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CELO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: CELO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BTC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BTC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: BTC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOLANA
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOLANA destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOLANA
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - XRP
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: XRP destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: XRP
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CARDANO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CARDANO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: CARDANO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BSC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BSC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BSC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ARBITRUM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ARBITRUM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ARBITRUM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - OPTIMISM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: OPTIMISM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: OPTIMISM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - AVALANCHE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: AVALANCHE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: AVALANCHE
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BASE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BASE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BASE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/COP/networks. Not
                    read by the payout; retained for the network selector and
                    for stored records.
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_COL
                destinationBankCode:
                  type: string
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET
                    /v1/currencies/COP/destination-schema?method=bankDepositCOL
                    (the code, not the name).
                destinationBankAccountType:
                  type: string
                  description: Bank account type — CORRIENTE or AHORRO.
                destinationTaxId:
                  type: string
                  description: Recipient ID document number.
                destinationDocumentType:
                  type: string
                  description: Recipient ID document type — CC, CE, NIT, TI or PP.
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationBankCode
                - destinationBankAccountType
                - destinationDocumentType
                - destinationTaxId
              description: >-
                Colombian bank deposit details. Equivalent to ACH_COP — same
                payout rail, same required fields, same bank roster; ACH_COP is
                recommended for new integrations. Note that BANK_DEPOSIT_COL is
                also the name of a COP collection rail.
              title: Bank Deposit COL
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                brebKey:
                  type: string
                  minLength: 1
                  description: Bre-B key (llave) that identifies the recipient account
                email:
                  type: string
                  description: Recipient email (optional contact for the Bre-B rail)
                destinationPhoneNumber:
                  type: string
                  description: Recipient phone number (optional contact for the Bre-B rail)
                type:
                  type: string
                  enum:
                    - BRE_B_COP
              required:
                - destinationName
                - brebKey
                - type
              description: Colombian Bre-B payout details
              title: Bre-B COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{4}$
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET /v1/currencies/COP/destination-schema?method=achCOP (the
                    code, not the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  description: Recipient bank account number
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: Bank account type (e.g. AHORROS / CORRIENTE)
                destinationDocumentType:
                  type: string
                  minLength: 1
                  description: Recipient ID document type (e.g. CC / CE / NIT)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: Recipient ID document number
                type:
                  type: string
                  enum:
                    - ACH_COP
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationDocumentType
                - destinationTaxId
                - type
              description: Colombian ACH payout details
              title: ACH COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for TWD — no network discovery)
                destinationBankName:
                  type: string
                  minLength: 2
                  description: Bank name (required — TWD payouts run over SWIFT)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TW
                destinationBankBranch:
                  type: string
                  minLength: 2
                  description: Bank branch (required — TWD payouts run over SWIFT)
                bic:
                  type: string
                  pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                  description: SWIFT BIC code (required for TWD payouts)
                destinationBankAccountType:
                  type: string
                  description: Type of bank account (legacy, optional)
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankBranch
                - bic
              description: Taiwan bank deposit details (SWIFT payout)
              title: Bank Deposit TW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankBranch:
                  type: string
                  description: Bank branch
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BR
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccount
                - destinationBankBranch
                - destinationTaxId
                - type
              description: Brazilian bank deposit details
              title: Bank Deposit BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPixCode:
                  type: string
                  description: PIX code
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - PIX_BR
              required:
                - destinationName
                - destinationPixCode
                - destinationTaxId
                - type
              description: Brazilian PIX details
              title: PIX BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number
                destinationBankName:
                  type: string
                  description: Name of the bank
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankAccountNumber
                - destinationBankName
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan bank deposit details
              title: Bank Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - PHONE_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankCode
                - destinationPhoneNumber
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan phone deposit details
              title: Phone Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_IN
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - IMPS
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India IMPS details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: IMPS
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - THAI_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Thailand Thai QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Thai QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - VIET_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Vietnam Viet QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Viet QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - GCASH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Philippines GCash details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: GCash
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  description: Tax ID
                type:
                  type: string
                  enum:
                    - MOBILE_PAYMENT_IN
              required:
                - destinationName
                - destinationPhoneNumber
                - destinationTaxId
                - type
              description: >-
                India mobile payment details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Payment IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  description: Bank code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - type
              description: >-
                Vietnam bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit VN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                bic:
                  type: string
                  description: >-
                    SWIFT BIC code (required for HKD payouts via the HK bank
                    corridor)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city (defaults to Hong Kong)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_HK
              required:
                - destinationName
                - destinationBankAccount
                - bic
                - destinationBankName
                - destinationAddress
                - type
              description: Hong Kong bank deposit details (HKD bank corridor)
              title: Bank Deposit HK
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  pattern: ^\d+$
                  description: CNAPS / bank institution code (numeric, variable length)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city
                destinationState:
                  type: string
                  minLength: 1
                  description: >-
                    Province / state of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPostcode:
                  type: string
                  minLength: 1
                  description: >-
                    Postal code of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPhone:
                  type: string
                  description: >-
                    Phone number of the recipient, without country prefix
                    (optional; defaulted for CN when omitted)
                destinationTaxId:
                  type: string
                  description: >-
                    Unified Social Credit Code (USCC, GB 32100-2015) of the
                    recipient company — 18 characters including the check digit;
                    whitespace is removed and letters are normalized to
                    uppercase (optional)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - destinationBankName
                - destinationAddress
                - destinationCity
                - destinationState
                - destinationPostcode
                - type
              description: China mainland bank deposit details (CNY bank corridor)
              title: Bank Deposit CN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/ARS/networks (the
                    network selector, optional)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_AR
                destinationCBU:
                  type: string
                  description: CBU — 22-digit bank account key (legacy, optional)
                destinationCVU:
                  type: string
                  description: CVU — 22-digit virtual account key (legacy, optional)
                destinationAlias:
                  type: string
                  description: Account alias (legacy, optional)
                destinationTaxId:
                  type: string
                  description: >-
                    CUIT/CUIL tax ID of the recipient (required when creating
                    ARS bank destinations): exactly 11 digits with no hyphens,
                    spaces or other characters, and a valid check digit (e.g.
                    20000000001)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationTaxId
              description: Argentinian bank deposit details
              title: Bank Deposit AR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  minLength: 1
                  description: Recipient bank name (required for Chilean bank payouts)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CL
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: >-
                    Account type — corriente or ahorro (required for Chilean
                    bank payouts)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: >-
                    RUT tax ID of the recipient (required for Chilean bank
                    payouts)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankAccountType
                - destinationTaxId
              description: Chilean bank deposit details
              title: Bank Deposit CL
            - type: object
              properties:
                destinationName:
                  type: string
                  minLength: 2
                  maxLength: 30
                  description: Recipient name (required, 2–30 characters)
                destinationBankAccount:
                  type: string
                  minLength: 1
                  maxLength: 11
                  description: Bank account number (max 11 digits for Bolivian accounts)
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for BOB — no network discovery)
                destinationBankName:
                  type: string
                  maxLength: 20
                  description: Bank name (optional, max 20 characters)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BO
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 15
                  description: NIT tax ID of the recipient (required for Bolivian payouts)
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationTaxId
              description: Bolivian bank deposit details
              title: Bank Deposit BO
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/PEN/networks (the
                    network selector)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PE
                destinationCCI:
                  type: string
                  description: CCI — 20-digit interbank account code (legacy, optional)
                destinationBankAccountType:
                  type: string
                  description: Account type (corriente/ahorro) (legacy, optional)
                destinationTaxId:
                  type: string
                  description: DNI/RUC document ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationNetworkId
                - type
              description: >-
                Peruvian bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit PE
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{3}$
                  description: >-
                    Recipient bank code (the 3-digit code the rail expects, not
                    the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  maxLength: 20
                  description: Recipient bank account number (max 20)
                destinationBankAccountType:
                  type: string
                  enum:
                    - CORRIENTE
                    - AHORROS
                    - PHONE
                  description: Bank account type
                destinationCCI:
                  type: string
                  pattern: ^\d{1,20}$
                  description: >-
                    CCI — Peruvian interbank code (required, digits only, max
                    20)
                destinationDocumentType:
                  type: string
                  enum:
                    - CC
                    - CE
                    - RUC
                    - PAS
                    - PAR
                    - LMI
                    - OTHER
                  description: Recipient identification type
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: Recipient identification number (max 50)
                email:
                  type: string
                  pattern: ^.+@.+\..+$
                  description: Recipient email (required for PEN payouts)
                destinationPhoneNumber:
                  type: string
                  pattern: ^\d{1,9}$
                  description: Recipient phone number (required, max 9 digits)
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PEN
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationCCI
                - destinationDocumentType
                - destinationTaxId
                - email
                - destinationPhoneNumber
                - type
              description: Peruvian bank deposit details (bank-code payout corridor).
              title: Bank Deposit PEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_NG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Nigeria bank deposit details
              title: Bank Deposit NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_KE
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Kenya bank deposit details
              title: Bank Deposit KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_GH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Ghana bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZA
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: South Africa bank deposit details
              title: Bank Deposit ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TZ
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Tanzania bank deposit details
              title: Bank Deposit TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_UG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Uganda bank deposit details
              title: Bank Deposit UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_RW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Rwanda bank deposit details
              title: Bank Deposit RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Malawi bank deposit details
              title: Bank Deposit MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZM
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Zambia bank deposit details
              title: Bank Deposit ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Botswana bank deposit details
              title: Bank Deposit BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CD
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                DR Congo bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XOF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: West African CFA bank deposit details
              title: Bank Deposit XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XAF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Central African CFA bank deposit details
              title: Bank Deposit XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_NG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Nigeria mobile money details
              title: Mobile Money NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_KE
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Kenya mobile money details
              title: Mobile Money KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_GH
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                Ghana mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZA
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: South Africa mobile money details
              title: Mobile Money ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_TZ
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Tanzania mobile money details
              title: Mobile Money TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_UG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Uganda mobile money details
              title: Mobile Money UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_RW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Rwanda mobile money details
              title: Mobile Money RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_MW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Malawi mobile money details
              title: Mobile Money MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZM
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Zambia mobile money details
              title: Mobile Money ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_BW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Botswana mobile money details
              title: Mobile Money BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_CD
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                DR Congo mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XOF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: West African CFA mobile money details
              title: Mobile Money XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XAF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Central African CFA mobile money details
              title: Mobile Money XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number (18-digit CLABE)
                numericReference:
                  type: string
                  description: Numeric reference
                notesReference:
                  type: string
                  description: Notes reference
                destinationClabe:
                  type: string
                  description: CLABE — legacy alias, prefer destinationBankAccountNumber
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient tax id (RFC) — required by some MX bank-deposit
                    rails ("Número de Identificación"); optional otherwise
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MX
              required:
                - destinationName
                - destinationBankAccountNumber
                - type
              description: Mexican bank deposit details
              title: Bank Deposit MX
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPseNumber:
                  type: string
                  description: PSE number
                type:
                  type: string
                  enum:
                    - PSE
              required:
                - destinationName
                - destinationPseNumber
                - type
              description: >-
                PSE transfer details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: PSE
              deprecated: true
          description: The details required for the end user destination transfer method.
        externalReference:
          type: string
          description: Your own reference for this order, echoed back on the order object
          examples:
            - order-2026-000123
        integrationSessionId:
          type: string
          pattern: ^int_[A-Za-z0-9]{16}$
          description: Integration session ID for partner attribution tracking
          examples:
            - int_a1B2c3D4e5F6g7H8
        tradeDetails:
          type: object
          properties:
            businessType:
              type: string
              enum:
                - GOODS_TRADE
            contractNo:
              type: string
              minLength: 1
            website:
              type: string
              format: uri
            products:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    minLength: 1
                  quantity:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                  unit:
                    type: string
                    minLength: 1
                  category:
                    type: string
                    minLength: 1
                required:
                  - name
                  - quantity
                  - unit
                additionalProperties: false
              minItems: 1
          required:
            - businessType
            - contractNo
            - products
          additionalProperties: false
          description: >-
            Trade context for regulated payout corridors that require a
            transaction document (e.g. CNY SAFE compliance): goods/services
            type, contract number, and itemised product list. Collected at order
            creation for bank-deposit CN orders.
      required:
        - quoteId
      additionalProperties: false
      description: >-
        Create an order from a quote. userData (payer) is required unless the
        quote uses origin rail BALANCE.
      title: Create Order with User Data
    CreateOrderResponse:
      type: object
      properties:
        orderId:
          type: string
          description: ID of the order
          examples:
            - 01CLFXMT67II
            - 2R7E5Y5KFXP8
            - 4FWWRE3Y2URM
        deposit:
          type: object
          properties:
            depositId:
              type: string
              minLength: 1
              description: >-
                ID of the deposit. Normally a 12-character internal id; deposits
                created before mid-2026 may carry a longer legacy id. Treat it
                as an opaque string.
            externalReference:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                Your own reference for this deposit. Stored as-is and returned
                on create, detail and list, so you can look the deposit up by it
                after a network timeout instead of retrying blind. Not
                interpreted by VirtuaBroker and not shown to the payer — for the
                payer's transfer reference use depositInfo.referenceCode.
              examples:
                - partner-ref-0001
                - inv_2026_00417
            userData:
              oneOf:
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - individual
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    lastName:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: >-
                        Last name of the user making the deposit (or
                        representative for business)
                      examples:
                        - Doe
                        - Smith
                        - Johnson
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - firstName
                    - userEmail
                    - country
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - business
                    businessName:
                      type: string
                      maxLength: 150
                      description: Business name (required when userType is business)
                      examples:
                        - Acme Corp
                        - Tech Solutions Inc
                        - Global Services Ltd
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - businessName
                    - firstName
                    - userEmail
                    - country
              description: User data of the person/company making the deposit
              examples:
                - userType: individual
                  firstName: John
                  lastName: Doe
                  userEmail: user@virtuabroker.com
                  address: 123 Main St, Anytown, ES
                  taxId: 123-45-6789
                  country: ES
                - userType: individual
                  firstName: Alice
                  lastName: Smith
                  userEmail: alice@example.com
                  address: 456 Elm St, Anytown, ES
                  taxId: 987-65-4321
                  country: ES
            createdAt:
              type: number
              description: Creation time of the deposit
              examples:
                - 1723027132
                - 1723027133
                - 1723027134
            rail:
              type: string
              enum:
                - BALANCE
                - SEPA
                - BTC
                - ETH
                - MATIC
                - POLYGON
                - CELO
                - TRON
                - SOLANA
                - ARBITRUM
                - OPTIMISM
                - AVALANCHE
                - BSC
                - BASE
                - XRP
                - PIX_BR
                - UPI
                - IMPS
                - TRY_BANK_TRANSFER
                - AED_BANK_TRANSFER
                - SPEI
                - IDR_BANK_TRANSFER
                - CREDIT_CARD
                - THAI_QR
                - VIET_QR
                - GCASH
                - ARGENTINA_BANK_TRANSFER
                - PSE
                - CLABE
                - PIX
                - BANK_DEPOSIT_COL
                - BANK_DEPOSIT_AR
                - BANK_DEPOSIT_CL
                - BANK_DEPOSIT_PE
                - BANK_DEPOSIT_BO
                - BANK_DEPOSIT_BR
                - BANK_DEPOSIT_NG
                - BANK_DEPOSIT_KE
                - BANK_DEPOSIT_GH
                - BANK_DEPOSIT_ZA
                - BANK_DEPOSIT_TZ
                - BANK_DEPOSIT_UG
                - BANK_DEPOSIT_RW
                - BANK_DEPOSIT_MW
                - BANK_DEPOSIT_ZM
                - BANK_DEPOSIT_BW
                - BANK_DEPOSIT_CD
                - BANK_DEPOSIT_XOF
                - BANK_DEPOSIT_XAF
                - MOBILE_MONEY_NG
                - MOBILE_MONEY_KE
                - MOBILE_MONEY_GH
                - MOBILE_MONEY_ZA
                - MOBILE_MONEY_TZ
                - MOBILE_MONEY_UG
                - MOBILE_MONEY_RW
                - MOBILE_MONEY_MW
                - MOBILE_MONEY_ZM
                - MOBILE_MONEY_BW
                - MOBILE_MONEY_CD
                - MOBILE_MONEY_XOF
                - MOBILE_MONEY_XAF
                - ACH_US
                - GBP_BANK_TRANSFER
              description: Rail of the deposit
            receivedAt:
              type: number
              description: >-
                Unix ms timestamp of when the funds for this deposit ARRIVED —
                recorded when the incoming payment is matched to the deposit,
                which is before it is credited. Present whenever funds have
                arrived, including a deposit whose funds are still held in
                review; omitted entirely when no funds ever arrived, so a
                never-funded or cancelled deposit has no value here and its
                presence is a reliable settlement signal for reconciliation.
                Identical on GET /v1/deposits and GET /v1/deposits/{depositId}.
                Note that the deposit object embedded in order and operation
                responses does not yet apply this rule — it returns the stored
                value. Not the creation time — use createdAt for that.
              examples:
                - 1723027132000
                - 1723027133000
                - 1723027134000
            expectedAmount:
              type: number
              minimum: 0
              description: Amount expected of the deposit
              examples:
                - 1000
                - 2000
                - 3000
            amount:
              type: number
              minimum: 0
              description: Amount received of the deposit
              examples:
                - 1000
                - 2000
                - 3000
            currency:
              anyOf:
                - type: string
                  enum:
                    - EUR
                    - USD
                    - GBP
                    - BRL
                    - MXN
                    - ARS
                    - COP
                    - PEN
                    - NGN
                    - KES
                    - TZS
                    - UGX
                    - RWF
                    - MWK
                    - ZMW
                    - XOF
                    - XAF
                    - BWP
                - type: string
                  enum:
                    - USDC
                    - USDT
                    - CUSD
                    - BTC
                    - ETH
                    - POL
                    - SOL
                    - TRX
                    - AVAX
                    - XRP
                    - BNB
              description: Currency of the deposit
              examples:
                - EUR
                - BRL
            fee:
              type: number
              minimum: 0
              description: >-
                Fee for the deposit. This value is written once the deposit has
                been executed. Meanwhile it will appear 0.
              example: 10
            expectedFee:
              type: number
              minimum: 0
              description: >-
                Fee for the deposit. This value is correlated with the expected
                amount for the deposit.
              examples:
                - 10
                - 20
                - 30
            feeCurrency:
              anyOf:
                - type: string
                  enum:
                    - EUR
                    - USD
                    - GBP
                    - BRL
                    - MXN
                    - ARS
                    - COP
                    - PEN
                    - NGN
                    - KES
                    - TZS
                    - UGX
                    - RWF
                    - MWK
                    - ZMW
                    - XOF
                    - XAF
                    - BWP
                - type: string
                  enum:
                    - USDC
                    - USDT
                    - CUSD
                    - BTC
                    - ETH
                    - POL
                    - SOL
                    - TRX
                    - AVAX
                    - XRP
                    - BNB
              description: Currency of the fee
              examples:
                - EUR
                - BRL
            status:
              anyOf:
                - type: string
                  enum:
                    - Pending
                    - Processing
                    - Success
                    - Failed
                    - Canceled
                    - Reviewing
                  description: >-
                    Common status values that are shared across all operation
                    types
                  examples:
                    - Pending
                    - Processing
                    - Success
                    - Failed
                    - Canceled
                    - Reviewing
                - type: string
                  enum:
                    - PendingCancel
                    - Received
              description: Status of the deposit
              examples:
                - Pending
                - Success
                - Failed
                - Received
                - PendingCancel
            depositInfo:
              oneOf:
                - type: object
                  properties:
                    accountHolder:
                      type: string
                      description: Name of the account holder
                      example: John Doe
                    iban:
                      type: string
                      description: SEPA Bank Account Number
                      example: DE8937XXXXXXXXXXXX3000
                    bic:
                      type: string
                      description: Bank BIC/SWIFT code
                      example: DEUTDEFF
                    bankName:
                      type: string
                      description: Name of the bank
                      example: Deutsche Bank
                    bankAddress:
                      type: string
                      description: Address of the bank
                      example: Taunusanlage 12
                    bankCity:
                      type: string
                      description: City of the bank
                      example: Frankfurt am Main
                    bankZipcode:
                      type: string
                      description: Zipcode of the bank
                      example: '60325'
                    bankCountry:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country of the bank
                      example: DE
                    depositType:
                      type: string
                      enum:
                        - SEPA
                    amount:
                      type: number
                      minimum: 0
                      description: >-
                        Expected deposit amount. It can be 0 for open-amount
                        bank transfers where the sender chooses the final amount
                        from their bank.
                      example: 1000
                    referenceCode:
                      type: string
                      minLength: 1
                      description: >-
                        A unique identifier for the deposit, crucial for
                        matching the deposit with the corresponding order. The
                        user must include this code when making the deposit to
                        ensure accurate processing. In cases where the reference
                        code is incorrect or missing, we manually match orders
                        based on the sender's name and other available details.
                        In case the deposit is not matched, we will mark the
                        order as Reviewing and the system will require manual
                        attention.
                      example: REF123456
                    extraDepositMethods:
                      type: array
                      items:
                        type: object
                        properties:
                          methodType:
                            type: string
                            enum:
                              - HOSTED_CHECKOUT
                            description: >-
                              HOSTED_CHECKOUT: a hosted payment page to send the
                              payer to (card). More types may be added — treat
                              an unknown value as unsupported and fall back to
                              the bank details in `depositInfo`.
                          url:
                            type: string
                            description: >-
                              URL to send the payer to. For HOSTED_CHECKOUT,
                              redirect the payer here (or embed it) to pay by
                              card.
                            example: https://checkout.example.com/pay/abc123
                          callbackUrl:
                            type: string
                            description: >-
                              Where the payer’s BROWSER is returned after
                              paying. Informational only: it is not a
                              server-to-server notification, and a payer landing
                              there is NOT proof of payment — rely on the
                              deposit status or webhooks for that.
                          referenceCode:
                            type: string
                            description: >-
                              Payment reference for this method (equals the
                              deposit/order reference)
                          amount:
                            type: number
                            description: >-
                              Amount payable via this method when it differs
                              from the deposit amount (e.g. a method-specific
                              surcharge)
                          currency:
                            type: string
                            description: Currency of this method
                          expiresAt:
                            type: number
                            description: >-
                              Unix ms after which `url` is no longer valid, when
                              known
                        required:
                          - methodType
                          - url
                        description: An additional, optional way to pay this deposit
                      description: >-
                        Additional, optional ways to pay this same deposit (e.g.
                        a hosted card page). The bank details above remain the
                        primary method; ignore this field if you only support
                        bank transfer.
                  required:
                    - depositType
                    - amount
                    - referenceCode
                  description: >-
                    Detailed information about a bank deposit, including the
                    amount and a unique reference code for identification.
                - type: object
                  properties:
                    address:
                      type: string
                      minLength: 1
                      description: Crypto wallet address
                      example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                    network:
                      type: string
                      enum:
                        - MATIC
                        - ETH
                        - CELO
                        - TRON
                        - BTC
                        - SOLANA
                        - XRP
                        - CARDANO
                        - BSC
                        - ARBITRUM
                        - OPTIMISM
                        - AVALANCHE
                        - BASE
                      description: Network for the deposit for crypto deposits
                      examples:
                        - ETH
                        - MATIC
                        - CELO
                    memo:
                      type: string
                      description: Optional memo for the transaction
                      example: Payment for services
                    depositType:
                      type: string
                      enum:
                        - CRYPTO
                    qrCode:
                      type: string
                      description: Base64-encoded QR image for the deposit address
                      example: >-
                        iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                    qrCodeUrl:
                      type: string
                      format: uri
                      description: 7-day signed GCS URL of the QR code PNG
                    qrCodeExpiresAt:
                      type: number
                      description: Unix timestamp (ms) when qrCodeUrl expires
                    receivingAddress:
                      type: string
                      description: The wallet address where funds should be sent
                      example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                    tokenContract:
                      type: string
                      description: The ERC20 token contract address
                      example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                    decimals:
                      type: number
                      description: Token decimals (default 18)
                      example: 18
                  required:
                    - address
                    - network
                    - depositType
                  description: Crypto Deposit Information
                - type: object
                  properties:
                    base64QRCode:
                      type: string
                      minLength: 1
                      description: Base64 encoded QR code
                      example: base64QRCode
                    qrCodeString:
                      type: string
                      minLength: 1
                      description: >-
                        The Pix copy-and-paste code (BR Code payload) the payer
                        pastes into their bank app. Pass it through unchanged —
                        it carries its own checksum.
                      example: qrCodeString
                    referenceCode:
                      type: string
                      minLength: 1
                      description: >-
                        A unique identifier for the deposit, crucial for
                        matching the deposit with the corresponding order
                      example: REF123456
                    amount:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: >-
                        The monetary value to be deposited into the bank. This
                        amount should be positive and accurately reflect the
                        intended deposit.
                      example: 1000
                    depositType:
                      type: string
                      enum:
                        - PIX
                  required:
                    - base64QRCode
                    - qrCodeString
                    - referenceCode
                    - amount
                    - depositType
                  description: Pix Deposit Information
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - CREDIT_CARD
                  required:
                    - depositType
                - type: object
                  properties:
                    bankName:
                      type: string
                      description: Name of the bank (present when the rail provides it)
                    accountHolder:
                      type: string
                      description: >-
                        Name of the account holder (present when the rail
                        provides it)
                    clabe:
                      type: string
                      description: CLABE number
                    accountNumber:
                      type: string
                      description: >-
                        Bank account number (e.g. from the BANK_TRANSFER payment
                        method)
                    reference:
                      type: string
                      description: >-
                        Payment reference (e.g. from the BANK_TRANSFER payment
                        method)
                    depositType:
                      type: string
                      enum:
                        - CLABE
                      description: Type of the deposit
                  required:
                    - clabe
                    - depositType
                - type: object
                  properties:
                    url:
                      type: string
                      description: URL of the PSE payment
                    amountPrefilled:
                      type: boolean
                      description: >-
                        Whether the payment page already carries the amount.
                        When false or absent, the payer must enter it.
                    depositType:
                      type: string
                      enum:
                        - PSE
                      description: Type of the deposit
                  required:
                    - url
                    - depositType
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BALANCE
                  required:
                    - depositType
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - PENDING
                    currency:
                      type: string
                      description: Currency of the deposit
                    referenceCode:
                      type: string
                      description: Reference code for the order/deposit
                    amount:
                      type: number
                      minimum: 0
                      description: >-
                        Expected deposit amount. It can be 0 while bank transfer
                        details are open-amount or still being provisioned.
                    extraDepositMethods:
                      type: array
                      items:
                        type: object
                        properties:
                          methodType:
                            type: string
                            enum:
                              - HOSTED_CHECKOUT
                            description: >-
                              HOSTED_CHECKOUT: a hosted payment page to send the
                              payer to (card). More types may be added — treat
                              an unknown value as unsupported and fall back to
                              the bank details in `depositInfo`.
                          url:
                            type: string
                            description: >-
                              URL to send the payer to. For HOSTED_CHECKOUT,
                              redirect the payer here (or embed it) to pay by
                              card.
                            example: https://checkout.example.com/pay/abc123
                          callbackUrl:
                            type: string
                            description: >-
                              Where the payer’s BROWSER is returned after
                              paying. Informational only: it is not a
                              server-to-server notification, and a payer landing
                              there is NOT proof of payment — rely on the
                              deposit status or webhooks for that.
                          referenceCode:
                            type: string
                            description: >-
                              Payment reference for this method (equals the
                              deposit/order reference)
                          amount:
                            type: number
                            description: >-
                              Amount payable via this method when it differs
                              from the deposit amount (e.g. a method-specific
                              surcharge)
                          currency:
                            type: string
                            description: Currency of this method
                          expiresAt:
                            type: number
                            description: >-
                              Unix ms after which `url` is no longer valid, when
                              known
                        required:
                          - methodType
                          - url
                        description: An additional, optional way to pay this deposit
                      description: >-
                        Additional ways to pay while the bank details are being
                        provisioned (e.g. a hosted card page). Optional — ignore
                        it and wait for the bank details if you only support
                        bank transfer.
                    pendingReason:
                      type: string
                      enum:
                        - collection_account_activating
                        - accountless_per_account_corridor
                      description: >-
                        Why the instructions are still being provisioned, when
                        the reason is known. `collection_account_activating`
                        means the collection account for this payer is being
                        activated and payable details are expected shortly.
                        `accountless_per_account_corridor` means this corridor
                        collects only into a collection account dedicated to the
                        paying account, this request names no account, and none
                        can be created for it — so payable details will NOT
                        arrive by waiting; create the deposit against an account
                        instead. Absence never conveys timing on either surface:
                        here it means only that no reason is classifiable, and
                        an account-level deposit-method instruction never
                        carries the field at all. Treat the values as an open
                        set and ignore any you do not recognise.
                  required:
                    - depositType
                    - currency
                    - referenceCode
                    - amount
                  description: >-
                    Deposit details are being provisioned; poll the
                    order/deposit or wait for webhook
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - IMPS
                    accountNumber:
                      type: string
                      description: Account number
                    bankName:
                      type: string
                      description: Name of the bank
                    accountHolder:
                      type: string
                      description: Name of the account holder
                    ifsc:
                      type: string
                      description: ifsc number
                    type:
                      type: string
                      description: Type of the deposit
                    branch:
                      type: string
                      description: Branch of the bank
                    bank:
                      type: string
                      description: Bank of the account
                    otp:
                      type: string
                      description: OTP of the deposit
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - accountNumber
                    - bankName
                    - accountHolder
                    - ifsc
                    - type
                    - branch
                    - bank
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - UPI
                    vpa:
                      type: string
                      description: Virtual Payment Address
                    name:
                      type: string
                      description: Name of the account holder
                    otp:
                      type: string
                      description: OTP for the transaction
                    paymentLink:
                      type: string
                      description: Payment link
                    upiNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional UPI instructions
                  required:
                    - depositType
                    - vpa
                    - name
                    - otp
                    - paymentLink
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - AED_BANK_TRANSFER
                    iban:
                      type: string
                      description: International Bank Account Number
                    name:
                      type: string
                      description: Name of the account holder
                    bank:
                      type: string
                      description: Bank name
                    type:
                      type: string
                      description: Account type
                    address:
                      type: string
                      description: Bank address
                    email:
                      type: string
                      description: Contact email
                    phoneNumber:
                      type: string
                      description: Contact phone number
                    transferCode:
                      type: string
                      description: Transfer code
                    poBox:
                      type: string
                      description: P.O. Box
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - iban
                    - name
                    - bank
                    - type
                    - address
                    - email
                    - phoneNumber
                    - transferCode
                    - poBox
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - SPEI
                    clabe:
                      type: string
                      description: CLABE number
                    name:
                      type: string
                      description: Name of the account holder
                    bank:
                      type: string
                      description: Bank name
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - clabe
                    - name
                    - bank
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - TRY_BANK_TRANSFER
                    iban:
                      type: string
                      description: International Bank Account Number
                    name:
                      type: string
                      description: Name of the account holder
                    bank:
                      type: string
                      description: Bank name
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - iban
                    - name
                    - bank
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - IDR_BANK_TRANSFER
                    virtualAccount:
                      type: string
                      description: Virtual account number
                    name:
                      type: string
                      description: Name of the account holder
                    bank:
                      type: string
                      description: Bank name
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - virtualAccount
                    - name
                    - bank
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - THAI_QR
                    qrCode:
                      type: string
                      description: QR code
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - qrCode
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - VIET_QR
                    qrCode:
                      type: string
                      description: QR code
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - qrCode
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - GCASH
                    qrCode:
                      type: string
                      description: QR code
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - qrCode
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - ARGENTINA_BANK_TRANSFER
                    accountNumber:
                      type: string
                      description: Account number
                    accountHolder:
                      type: string
                      description: Account holder name
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - accountNumber
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - ACH_US
                    routingNumber:
                      type: string
                      description: US bank ABA routing number
                    accountNumber:
                      type: string
                      description: US bank account number
                    beneficiaryName:
                      type: string
                      description: Beneficiary name on the account
                    bankName:
                      type: string
                      description: Name of the bank
                    bankAddress:
                      type: string
                      description: Address of the bank
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names (e.g. ACH, Wire)
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount in USD
                    referenceCode:
                      type: string
                      minLength: 1
                      description: Reference code to include in the wire/ACH transfer
                  required:
                    - depositType
                    - routingNumber
                    - accountNumber
                    - beneficiaryName
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - ACH_PULL
                  required:
                    - depositType
                  description: >-
                    Funds are pulled from the holder's own linked US bank
                    account; no transfer instructions apply
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - LOCALBANK
                      description: >-
                        Deprecated generic local-bank payin type. Superseded by
                        the corridor-specific deposit types (e.g. SEPA, ACH_US,
                        GBP_BANK_TRANSFER, CLABE/SPEI, PIX,
                        ARGENTINA_BANK_TRANSFER, BANK_DEPOSIT_<CC>). Still
                        returned on some corridors and on historical records, so
                        integrators must continue to handle it. Discover the
                        applicable per-currency method via GET
                        /v1/currencies/{currency}/payin-schema.
                      deprecated: true
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - GBP_BANK_TRANSFER
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: UK bank account number
                    sortCode:
                      type: string
                      description: UK sort code
                    bankName:
                      type: string
                      description: Name of the bank
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    schemes:
                      type: array
                      items:
                        type: string
                      description: >-
                        Accepted payment scheme names (e.g. Faster Payments,
                        CHAPS, BACS)
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount in GBP
                    referenceCode:
                      type: string
                      minLength: 1
                      description: Reference code to include in the transfer
                  required:
                    - depositType
                    - accountHolder
                    - accountNumber
                    - sortCode
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_COL
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CL
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BO
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BR
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_NG
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_KE
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_GH
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZA
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TZ
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_UG
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_RW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZM
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CD
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XOF
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XAF
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_NG
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_KE
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_GH
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZA
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_TZ
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_UG
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_RW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_MW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZM
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_BW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_CD
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_XOF
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_XAF
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
              description: Details of the deposit
              examples:
                - accountHolder: John Doe
                  iban: DE8937XXXXXXXXXXXX3000
                  bic: COBADEFFXXX
                  bankName: Commerzbank
                  bankAddress: Mainzer Landstrasse 151-153
                  bankCity: Frankfurt
                  bankZipcode: '60327'
                  bankCountry: DE
                  amount: 1000
                  referenceCode: ABC123
                  depositType: SEPA
            depositInfoPending:
              type: boolean
              description: >-
                True while the payment instructions are still being prepared.
                Poll this deposit until it is false (or absent) before showing
                the instructions to the payer.
            complianceHold:
              type: object
              properties:
                reason:
                  type: string
                  enum:
                    - screening
                    - fiat_monitoring
                  description: Compliance hold reason
              required:
                - reason
              description: >-
                Present while the inbound transfer funding this deposit is held
                in provider compliance review. The deposit stays Reviewing
                (amount 0, never credited) until the hold clears (promote to
                Received) or the transfer is rejected/returned (terminalize).
          required:
            - depositId
            - createdAt
            - expectedAmount
            - amount
            - currency
            - fee
            - expectedFee
            - feeCurrency
            - status
            - depositInfo
          description: Details of the deposit associated with the order
        trade:
          type: object
          properties:
            tradeId:
              type: string
              description: ID of the trade
              example: 123e4567-e89b-12d3-a456-426614174000
            createdAt:
              type: number
              description: Creation time of the trade
              example: 1723027132
            pair:
              type: string
              description: Asset pair to trade
              example: BTC/EUR
            tradeType:
              type: string
              enum:
                - buy
                - sell
              description: Type of trade
            volume:
              type: number
              minimum: 0
              exclusiveMinimum: true
              description: Order quantity in lots
              example: 0.5
            price:
              type: number
              minimum: 0
              exclusiveMinimum: true
              description: Price at which to place the order based on the pair
              example: 30000
            conversionRate:
              type: number
              minimum: 0
              exclusiveMinimum: true
              description: Conversion rate at which to place the order based on the pair
              example: 30000
            fee:
              type: number
              minimum: 0
              description: Fee for the trade
              example: 0.1
            feeCurrency:
              type: string
              description: Currency of the fee
              example: EUR
            userEmail:
              type: string
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: Email of the user making the trade
              example: user@example.com
          required:
            - tradeId
            - createdAt
            - pair
            - tradeType
            - volume
            - fee
            - feeCurrency
            - userEmail
          description: Details of the trade associated with the order
        withdraw:
          type: object
          properties:
            withdrawalId:
              anyOf:
                - type: string
                  minLength: 12
                  maxLength: 12
                  pattern: ^[A-Z0-9]{12}$
                  examples:
                    - 01CLFXMT67II
                    - 2R7E5Y5KFXP8
                    - 4FWWRE3Y2URM
                - type: string
                  format: uuid
              description: ID of the withdrawal
            userData:
              oneOf:
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - individual
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    lastName:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: >-
                        Last name of the user making the deposit (or
                        representative for business)
                      examples:
                        - Doe
                        - Smith
                        - Johnson
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - firstName
                    - userEmail
                    - country
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - business
                    businessName:
                      type: string
                      maxLength: 150
                      description: Business name (required when userType is business)
                      examples:
                        - Acme Corp
                        - Tech Solutions Inc
                        - Global Services Ltd
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - businessName
                    - firstName
                    - userEmail
                    - country
              description: User data for the withdrawal
            createdAt:
              type: number
              description: Creation time of the withdrawal
              example: 1723027132
            updatedAt:
              type: number
              description: Last update time of the withdrawal
              example: 1723027132
            userEmail:
              type: string
              format: email
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: Email of the user making the request
              example: user@example.com
            amount:
              type: number
              description: >-
                Amount to be withdrawn. This value is written once the
                withdrawal has been executed. Meanwhile it will appear 0.
              example: 1000
            currency:
              type: string
              description: Currency of the withdrawal
              example: EUR
            fee:
              type: number
              description: >-
                Fee for the withdrawal. This value is written once the
                withdrawal has been executed. Meanwhile it will appear 0.
              example: 10
            feeCurrency:
              type: string
              description: Currency of the fee
              example: EUR
            destinationTransferData:
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BALANCE
                  required:
                    - type
                  description: Balance transfer details
                  title: Balance
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    iban:
                      type: string
                      description: IBAN number
                    bic:
                      type: string
                      description: BIC number (optional)
                    country:
                      type: string
                      description: Country code
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for SEPA payouts —
                        provide it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for SEPA payouts
                        — provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        the payout beneficiary `address.line1` when registering
                        the beneficiary. Stored on the saved transaction method
                        so the user does not have to re-supply it on every
                        withdraw.
                    type:
                      type: string
                      enum:
                        - SEPA
                  required:
                    - destinationName
                    - iban
                    - country
                    - type
                  description: SEPA transfer details
                  title: SEPA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: UK bank account number
                    sortCode:
                      type: string
                      description: UK sort code
                    country:
                      type: string
                      enum:
                        - GB
                      default: GB
                      description: >-
                        ISO 3166 country code of the recipient (GBP transfer is
                        UK-based)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - GBP_BANK_TRANSFER
                  required:
                    - destinationName
                    - accountNumber
                    - sortCode
                    - type
                  description: GBP domestic bank transfer details
                  title: BankDepositGB
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: US bank account number
                    routingNumber:
                      type: string
                      description: US ABA routing number
                    country:
                      type: string
                      enum:
                        - US
                      default: US
                      description: >-
                        ISO 3166 country code of the recipient (ACH is
                        US-domestic)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    bankAccountType:
                      type: string
                      enum:
                        - CHECKING
                        - SAVINGS
                      default: CHECKING
                      description: >-
                        Kind of bank account the payout lands in. Defaults to
                        CHECKING when omitted.
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    state:
                      type: string
                      pattern: ^[A-Z]{2}$
                      description: >-
                        Two-letter US state code of the recipient (e.g. NY).
                        REQUIRED for this rail.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - ACH_US
                  required:
                    - destinationName
                    - accountNumber
                    - routingNumber
                    - state
                    - type
                  description: USD ACH transfer details
                  title: AchUS
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - linkedBankAccount
                    accountLinkId:
                      type: string
                      pattern: ^alnk_[0-9a-f]{24}$
                      description: >-
                        Identifier of one of the account holder own linked bank
                        accounts
                      examples:
                        - alnk_0123456789abcdef01234567
                  required:
                    - type
                    - accountLinkId
                  description: >-
                    A bank account the account holder linked beforehand. Pays
                    out only to the holder of the order; never to a third party.
                    Not available yet.
                  title: LinkedBankAccount
                  deprecated: true
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ETH
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ETH destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ETH
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - MATIC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: MATIC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: MATIC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOL
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOL destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOL
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - TRON
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: TRON destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: TRON
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CELO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CELO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: CELO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BTC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BTC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: BTC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOLANA
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOLANA destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOLANA
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - XRP
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: XRP destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: XRP
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CARDANO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CARDANO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: CARDANO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BSC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BSC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BSC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ARBITRUM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ARBITRUM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ARBITRUM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - OPTIMISM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: OPTIMISM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: OPTIMISM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - AVALANCHE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: AVALANCHE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: AVALANCHE
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BASE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BASE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BASE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/COP/networks.
                        Not read by the payout; retained for the network
                        selector and for stored records.
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_COL
                    destinationBankCode:
                      type: string
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=bankDepositCOL
                        (the code, not the name). Required when creating or
                        updating a destination.
                    destinationBankAccountType:
                      type: string
                      description: >-
                        Bank account type — CORRIENTE or AHORRO. Required when
                        creating or updating a destination.
                    destinationTaxId:
                      type: string
                      description: >-
                        Recipient ID document number. Required when creating or
                        updating a destination.
                    destinationDocumentType:
                      type: string
                      description: >-
                        Recipient ID document type — CC, CE, NIT, TI or PP.
                        Required when creating or updating a destination.
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Colombian bank deposit details. Equivalent to ACH_COP — same
                    payout rail, same required fields, same bank roster; ACH_COP
                    is recommended for new integrations. Note that
                    BANK_DEPOSIT_COL is also the name of a COP collection rail.
                  title: Bank Deposit COL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    brebKey:
                      type: string
                      minLength: 1
                      description: Bre-B key (llave) that identifies the recipient account
                    email:
                      type: string
                      description: Recipient email (optional contact for the Bre-B rail)
                    destinationPhoneNumber:
                      type: string
                      description: >-
                        Recipient phone number (optional contact for the Bre-B
                        rail)
                    type:
                      type: string
                      enum:
                        - BRE_B_COP
                  required:
                    - destinationName
                    - brebKey
                    - type
                  description: Colombian Bre-B payout details
                  title: Bre-B COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{4}$
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=achCOP (the
                        code, not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      description: Recipient bank account number
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: Bank account type (e.g. AHORROS / CORRIENTE)
                    destinationDocumentType:
                      type: string
                      minLength: 1
                      description: Recipient ID document type (e.g. CC / CE / NIT)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: Recipient ID document number
                    type:
                      type: string
                      enum:
                        - ACH_COP
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationDocumentType
                    - destinationTaxId
                    - type
                  description: Colombian ACH payout details
                  title: ACH COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for TWD — no network
                        discovery)
                    destinationBankName:
                      type: string
                      minLength: 2
                      description: Bank name (required — TWD payouts run over SWIFT)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TW
                    destinationBankBranch:
                      type: string
                      minLength: 2
                      description: Bank branch (required — TWD payouts run over SWIFT)
                    bic:
                      type: string
                      pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                      description: SWIFT BIC code (required for TWD payouts)
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankBranch
                    - bic
                  description: Taiwan bank deposit details (SWIFT payout)
                  title: Bank Deposit TW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankBranch:
                      type: string
                      description: Bank branch
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BR
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccount
                    - destinationBankBranch
                    - destinationTaxId
                    - type
                  description: Brazilian bank deposit details
                  title: Bank Deposit BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPixCode:
                      type: string
                      description: PIX code
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - PIX_BR
                  required:
                    - destinationName
                    - destinationPixCode
                    - destinationTaxId
                    - type
                  description: Brazilian PIX details
                  title: PIX BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number
                    destinationBankName:
                      type: string
                      description: Name of the bank
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - destinationBankName
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan bank deposit details
                  title: Bank Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - PHONE_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationPhoneNumber
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan phone deposit details
                  title: Phone Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_IN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - IMPS
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India IMPS details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: IMPS
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - THAI_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Thailand Thai QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Thai QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - VIET_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Vietnam Viet QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Viet QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - GCASH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Philippines GCash details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: GCash
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      description: Tax ID
                    type:
                      type: string
                      enum:
                        - MOBILE_PAYMENT_IN
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - destinationTaxId
                    - type
                  description: >-
                    India mobile payment details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Payment IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      description: Bank code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - type
                  description: >-
                    Vietnam bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit VN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    bic:
                      type: string
                      description: >-
                        SWIFT BIC code (required for HKD payouts via the HK bank
                        corridor)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city (defaults to Hong Kong)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_HK
                  required:
                    - destinationName
                    - destinationBankAccount
                    - bic
                    - destinationBankName
                    - destinationAddress
                    - type
                  description: Hong Kong bank deposit details (HKD bank corridor)
                  title: Bank Deposit HK
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      pattern: ^\d+$
                      description: CNAPS / bank institution code (numeric, variable length)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city
                    destinationState:
                      type: string
                      minLength: 1
                      description: >-
                        Province / state of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPostcode:
                      type: string
                      minLength: 1
                      description: >-
                        Postal code of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPhone:
                      type: string
                      description: >-
                        Phone number of the recipient, without country prefix
                        (optional; defaulted for CN when omitted)
                    destinationTaxId:
                      type: string
                      description: >-
                        Unified Social Credit Code (USCC, GB 32100-2015) of the
                        recipient company — 18 characters including the check
                        digit; whitespace is removed and letters are normalized
                        to uppercase (optional)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - destinationBankName
                    - destinationAddress
                    - destinationCity
                    - destinationState
                    - destinationPostcode
                    - type
                  description: China mainland bank deposit details (CNY bank corridor)
                  title: Bank Deposit CN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/ARS/networks
                        (the network selector, optional)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_AR
                    destinationCBU:
                      type: string
                      description: CBU — 22-digit bank account key (legacy, optional)
                    destinationCVU:
                      type: string
                      description: CVU — 22-digit virtual account key (legacy, optional)
                    destinationAlias:
                      type: string
                      description: Account alias (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: >-
                        CUIT/CUIL tax ID of the recipient (required when
                        creating ARS bank destinations): exactly 11 digits with
                        no hyphens, spaces or other characters, and a valid
                        check digit (e.g. 20000000001)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Argentinian bank deposit details
                  title: Bank Deposit AR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      minLength: 1
                      description: Recipient bank name (required for Chilean bank payouts)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CL
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: >-
                        Account type — corriente or ahorro (required for Chilean
                        bank payouts)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: >-
                        RUT tax ID of the recipient (required for Chilean bank
                        payouts)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankAccountType
                    - destinationTaxId
                  description: Chilean bank deposit details
                  title: Bank Deposit CL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      minLength: 2
                      maxLength: 30
                      description: Recipient name (required, 2–30 characters)
                    destinationBankAccount:
                      type: string
                      minLength: 1
                      maxLength: 11
                      description: >-
                        Bank account number (max 11 digits for Bolivian
                        accounts)
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for BOB — no network
                        discovery)
                    destinationBankName:
                      type: string
                      maxLength: 20
                      description: Bank name (optional, max 20 characters)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BO
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 15
                      description: >-
                        NIT tax ID of the recipient (required for Bolivian
                        payouts)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                    - destinationTaxId
                  description: Bolivian bank deposit details
                  title: Bank Deposit BO
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/PEN/networks
                        (the network selector)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PE
                    destinationCCI:
                      type: string
                      description: CCI — 20-digit interbank account code (legacy, optional)
                    destinationBankAccountType:
                      type: string
                      description: Account type (corriente/ahorro) (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: DNI/RUC document ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationNetworkId
                    - type
                  description: >-
                    Peruvian bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit PE
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{3}$
                      description: >-
                        Recipient bank code (the 3-digit code the rail expects,
                        not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      maxLength: 20
                      description: Recipient bank account number (max 20)
                    destinationBankAccountType:
                      type: string
                      enum:
                        - CORRIENTE
                        - AHORROS
                        - PHONE
                      description: Bank account type
                    destinationCCI:
                      type: string
                      pattern: ^\d{1,20}$
                      description: >-
                        CCI — Peruvian interbank code (required, digits only,
                        max 20)
                    destinationDocumentType:
                      type: string
                      enum:
                        - CC
                        - CE
                        - RUC
                        - PAS
                        - PAR
                        - LMI
                        - OTHER
                      description: Recipient identification type
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: Recipient identification number (max 50)
                    email:
                      type: string
                      pattern: ^.+@.+\..+$
                      description: Recipient email (required for PEN payouts)
                    destinationPhoneNumber:
                      type: string
                      pattern: ^\d{1,9}$
                      description: Recipient phone number (required, max 9 digits)
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationCCI
                    - destinationDocumentType
                    - destinationTaxId
                    - email
                    - destinationPhoneNumber
                    - type
                  description: Peruvian bank deposit details (bank-code payout corridor).
                  title: Bank Deposit PEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_NG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Nigeria bank deposit details
                  title: Bank Deposit NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_KE
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Kenya bank deposit details
                  title: Bank Deposit KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_GH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Ghana bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZA
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: South Africa bank deposit details
                  title: Bank Deposit ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TZ
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Tanzania bank deposit details
                  title: Bank Deposit TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_UG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Uganda bank deposit details
                  title: Bank Deposit UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_RW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Rwanda bank deposit details
                  title: Bank Deposit RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Malawi bank deposit details
                  title: Bank Deposit MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZM
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Zambia bank deposit details
                  title: Bank Deposit ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Botswana bank deposit details
                  title: Bank Deposit BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CD
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    DR Congo bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XOF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: West African CFA bank deposit details
                  title: Bank Deposit XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XAF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Central African CFA bank deposit details
                  title: Bank Deposit XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_NG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Nigeria mobile money details
                  title: Mobile Money NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_KE
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Kenya mobile money details
                  title: Mobile Money KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_GH
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    Ghana mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZA
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: South Africa mobile money details
                  title: Mobile Money ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_TZ
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Tanzania mobile money details
                  title: Mobile Money TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_UG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Uganda mobile money details
                  title: Mobile Money UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_RW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Rwanda mobile money details
                  title: Mobile Money RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_MW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Malawi mobile money details
                  title: Mobile Money MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZM
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Zambia mobile money details
                  title: Mobile Money ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_BW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Botswana mobile money details
                  title: Mobile Money BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_CD
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    DR Congo mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XOF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: West African CFA mobile money details
                  title: Mobile Money XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XAF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Central African CFA mobile money details
                  title: Mobile Money XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number (18-digit CLABE)
                    numericReference:
                      type: string
                      description: Numeric reference
                    notesReference:
                      type: string
                      description: Notes reference
                    destinationClabe:
                      type: string
                      description: >-
                        CLABE — legacy alias, prefer
                        destinationBankAccountNumber
                    destinationTaxId:
                      type: string
                      description: >-
                        Recipient tax id (RFC) — required by some MX
                        bank-deposit rails ("Número de Identificación");
                        optional otherwise
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MX
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - type
                  description: Mexican bank deposit details
                  title: Bank Deposit MX
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPseNumber:
                      type: string
                      description: PSE number
                    type:
                      type: string
                      enum:
                        - PSE
                  required:
                    - destinationName
                    - destinationPseNumber
                    - type
                  description: >-
                    PSE transfer details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: PSE
                  deprecated: true
              description: >-
                The details required for the end user destination transfer
                method.
            status:
              anyOf:
                - type: string
                  enum:
                    - Pending
                    - Processing
                    - Success
                    - Failed
                    - Canceled
                    - Reviewing
                  description: >-
                    Common status values that are shared across all operation
                    types
                  examples:
                    - Pending
                    - Processing
                    - Success
                    - Failed
                    - Canceled
                    - Reviewing
                - type: string
                  enum:
                    - PendingCancel
                    - PendingWithdrawal
                    - PendingVerification
                    - Pending2FA
                    - Compliance
                    - Accepted
                    - Approved
                    - Rejected
                    - Review
              description: Status of the withdrawal
              examples:
                - Pending
                - Pending2FA
                - Compliance
                - Accepted
                - Approved
                - Success
                - Failed
                - Review
                - Rejected
            withdrawalInfo:
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BALANCE
                  required:
                    - type
                  description: Balance transfer details
                  title: Balance
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    iban:
                      type: string
                      description: IBAN number
                    bic:
                      type: string
                      description: BIC number (optional)
                    country:
                      type: string
                      description: Country code
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for SEPA payouts —
                        provide it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for SEPA payouts
                        — provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        the payout beneficiary `address.line1` when registering
                        the beneficiary. Stored on the saved transaction method
                        so the user does not have to re-supply it on every
                        withdraw.
                    type:
                      type: string
                      enum:
                        - SEPA
                  required:
                    - destinationName
                    - iban
                    - country
                    - type
                  description: SEPA transfer details
                  title: SEPA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: UK bank account number
                    sortCode:
                      type: string
                      description: UK sort code
                    country:
                      type: string
                      enum:
                        - GB
                      default: GB
                      description: >-
                        ISO 3166 country code of the recipient (GBP transfer is
                        UK-based)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - GBP_BANK_TRANSFER
                  required:
                    - destinationName
                    - accountNumber
                    - sortCode
                    - type
                  description: GBP domestic bank transfer details
                  title: BankDepositGB
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: US bank account number
                    routingNumber:
                      type: string
                      description: US ABA routing number
                    country:
                      type: string
                      enum:
                        - US
                      default: US
                      description: >-
                        ISO 3166 country code of the recipient (ACH is
                        US-domestic)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    bankAccountType:
                      type: string
                      enum:
                        - CHECKING
                        - SAVINGS
                      default: CHECKING
                      description: >-
                        Kind of bank account the payout lands in. Defaults to
                        CHECKING when omitted.
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    state:
                      type: string
                      pattern: ^[A-Z]{2}$
                      description: >-
                        Two-letter US state code of the recipient (e.g. NY).
                        REQUIRED for this rail.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - ACH_US
                  required:
                    - destinationName
                    - accountNumber
                    - routingNumber
                    - state
                    - type
                  description: USD ACH transfer details
                  title: AchUS
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - linkedBankAccount
                    accountLinkId:
                      type: string
                      pattern: ^alnk_[0-9a-f]{24}$
                      description: >-
                        Identifier of one of the account holder own linked bank
                        accounts
                      examples:
                        - alnk_0123456789abcdef01234567
                  required:
                    - type
                    - accountLinkId
                  description: >-
                    A bank account the account holder linked beforehand. Pays
                    out only to the holder of the order; never to a third party.
                    Not available yet.
                  title: LinkedBankAccount
                  deprecated: true
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ETH
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ETH destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ETH
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - MATIC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: MATIC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: MATIC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOL
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOL destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOL
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - TRON
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: TRON destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: TRON
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CELO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CELO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: CELO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BTC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BTC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: BTC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOLANA
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOLANA destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOLANA
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - XRP
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: XRP destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: XRP
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CARDANO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CARDANO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: CARDANO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BSC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BSC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BSC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ARBITRUM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ARBITRUM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ARBITRUM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - OPTIMISM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: OPTIMISM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: OPTIMISM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - AVALANCHE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: AVALANCHE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: AVALANCHE
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BASE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BASE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BASE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/COP/networks.
                        Not read by the payout; retained for the network
                        selector and for stored records.
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_COL
                    destinationBankCode:
                      type: string
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=bankDepositCOL
                        (the code, not the name). Required when creating or
                        updating a destination.
                    destinationBankAccountType:
                      type: string
                      description: >-
                        Bank account type — CORRIENTE or AHORRO. Required when
                        creating or updating a destination.
                    destinationTaxId:
                      type: string
                      description: >-
                        Recipient ID document number. Required when creating or
                        updating a destination.
                    destinationDocumentType:
                      type: string
                      description: >-
                        Recipient ID document type — CC, CE, NIT, TI or PP.
                        Required when creating or updating a destination.
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Colombian bank deposit details. Equivalent to ACH_COP — same
                    payout rail, same required fields, same bank roster; ACH_COP
                    is recommended for new integrations. Note that
                    BANK_DEPOSIT_COL is also the name of a COP collection rail.
                  title: Bank Deposit COL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    brebKey:
                      type: string
                      minLength: 1
                      description: Bre-B key (llave) that identifies the recipient account
                    email:
                      type: string
                      description: Recipient email (optional contact for the Bre-B rail)
                    destinationPhoneNumber:
                      type: string
                      description: >-
                        Recipient phone number (optional contact for the Bre-B
                        rail)
                    type:
                      type: string
                      enum:
                        - BRE_B_COP
                  required:
                    - destinationName
                    - brebKey
                    - type
                  description: Colombian Bre-B payout details
                  title: Bre-B COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{4}$
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=achCOP (the
                        code, not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      description: Recipient bank account number
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: Bank account type (e.g. AHORROS / CORRIENTE)
                    destinationDocumentType:
                      type: string
                      minLength: 1
                      description: Recipient ID document type (e.g. CC / CE / NIT)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: Recipient ID document number
                    type:
                      type: string
                      enum:
                        - ACH_COP
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationDocumentType
                    - destinationTaxId
                    - type
                  description: Colombian ACH payout details
                  title: ACH COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for TWD — no network
                        discovery)
                    destinationBankName:
                      type: string
                      minLength: 2
                      description: Bank name (required — TWD payouts run over SWIFT)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TW
                    destinationBankBranch:
                      type: string
                      minLength: 2
                      description: Bank branch (required — TWD payouts run over SWIFT)
                    bic:
                      type: string
                      pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                      description: SWIFT BIC code (required for TWD payouts)
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankBranch
                    - bic
                  description: Taiwan bank deposit details (SWIFT payout)
                  title: Bank Deposit TW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankBranch:
                      type: string
                      description: Bank branch
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BR
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccount
                    - destinationBankBranch
                    - destinationTaxId
                    - type
                  description: Brazilian bank deposit details
                  title: Bank Deposit BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPixCode:
                      type: string
                      description: PIX code
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - PIX_BR
                  required:
                    - destinationName
                    - destinationPixCode
                    - destinationTaxId
                    - type
                  description: Brazilian PIX details
                  title: PIX BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number
                    destinationBankName:
                      type: string
                      description: Name of the bank
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - destinationBankName
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan bank deposit details
                  title: Bank Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - PHONE_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationPhoneNumber
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan phone deposit details
                  title: Phone Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_IN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - IMPS
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India IMPS details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: IMPS
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - THAI_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Thailand Thai QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Thai QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - VIET_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Vietnam Viet QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Viet QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - GCASH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Philippines GCash details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: GCash
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      description: Tax ID
                    type:
                      type: string
                      enum:
                        - MOBILE_PAYMENT_IN
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - destinationTaxId
                    - type
                  description: >-
                    India mobile payment details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Payment IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      description: Bank code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - type
                  description: >-
                    Vietnam bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit VN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    bic:
                      type: string
                      description: >-
                        SWIFT BIC code (required for HKD payouts via the HK bank
                        corridor)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city (defaults to Hong Kong)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_HK
                  required:
                    - destinationName
                    - destinationBankAccount
                    - bic
                    - destinationBankName
                    - destinationAddress
                    - type
                  description: Hong Kong bank deposit details (HKD bank corridor)
                  title: Bank Deposit HK
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      pattern: ^\d+$
                      description: CNAPS / bank institution code (numeric, variable length)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city
                    destinationState:
                      type: string
                      minLength: 1
                      description: >-
                        Province / state of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPostcode:
                      type: string
                      minLength: 1
                      description: >-
                        Postal code of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPhone:
                      type: string
                      description: >-
                        Phone number of the recipient, without country prefix
                        (optional; defaulted for CN when omitted)
                    destinationTaxId:
                      type: string
                      description: >-
                        Unified Social Credit Code (USCC, GB 32100-2015) of the
                        recipient company — 18 characters including the check
                        digit; whitespace is removed and letters are normalized
                        to uppercase (optional)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - destinationBankName
                    - destinationAddress
                    - destinationCity
                    - destinationState
                    - destinationPostcode
                    - type
                  description: China mainland bank deposit details (CNY bank corridor)
                  title: Bank Deposit CN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/ARS/networks
                        (the network selector, optional)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_AR
                    destinationCBU:
                      type: string
                      description: CBU — 22-digit bank account key (legacy, optional)
                    destinationCVU:
                      type: string
                      description: CVU — 22-digit virtual account key (legacy, optional)
                    destinationAlias:
                      type: string
                      description: Account alias (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: >-
                        CUIT/CUIL tax ID of the recipient (required when
                        creating ARS bank destinations): exactly 11 digits with
                        no hyphens, spaces or other characters, and a valid
                        check digit (e.g. 20000000001)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Argentinian bank deposit details
                  title: Bank Deposit AR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      minLength: 1
                      description: Recipient bank name (required for Chilean bank payouts)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CL
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: >-
                        Account type — corriente or ahorro (required for Chilean
                        bank payouts)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: >-
                        RUT tax ID of the recipient (required for Chilean bank
                        payouts)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankAccountType
                    - destinationTaxId
                  description: Chilean bank deposit details
                  title: Bank Deposit CL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      minLength: 2
                      maxLength: 30
                      description: Recipient name (required, 2–30 characters)
                    destinationBankAccount:
                      type: string
                      minLength: 1
                      maxLength: 11
                      description: >-
                        Bank account number (max 11 digits for Bolivian
                        accounts)
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for BOB — no network
                        discovery)
                    destinationBankName:
                      type: string
                      maxLength: 20
                      description: Bank name (optional, max 20 characters)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BO
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 15
                      description: >-
                        NIT tax ID of the recipient (required for Bolivian
                        payouts)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                    - destinationTaxId
                  description: Bolivian bank deposit details
                  title: Bank Deposit BO
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/PEN/networks
                        (the network selector)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PE
                    destinationCCI:
                      type: string
                      description: CCI — 20-digit interbank account code (legacy, optional)
                    destinationBankAccountType:
                      type: string
                      description: Account type (corriente/ahorro) (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: DNI/RUC document ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationNetworkId
                    - type
                  description: >-
                    Peruvian bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit PE
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{3}$
                      description: >-
                        Recipient bank code (the 3-digit code the rail expects,
                        not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      maxLength: 20
                      description: Recipient bank account number (max 20)
                    destinationBankAccountType:
                      type: string
                      enum:
                        - CORRIENTE
                        - AHORROS
                        - PHONE
                      description: Bank account type
                    destinationCCI:
                      type: string
                      pattern: ^\d{1,20}$
                      description: >-
                        CCI — Peruvian interbank code (required, digits only,
                        max 20)
                    destinationDocumentType:
                      type: string
                      enum:
                        - CC
                        - CE
                        - RUC
                        - PAS
                        - PAR
                        - LMI
                        - OTHER
                      description: Recipient identification type
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: Recipient identification number (max 50)
                    email:
                      type: string
                      pattern: ^.+@.+\..+$
                      description: Recipient email (required for PEN payouts)
                    destinationPhoneNumber:
                      type: string
                      pattern: ^\d{1,9}$
                      description: Recipient phone number (required, max 9 digits)
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationCCI
                    - destinationDocumentType
                    - destinationTaxId
                    - email
                    - destinationPhoneNumber
                    - type
                  description: Peruvian bank deposit details (bank-code payout corridor).
                  title: Bank Deposit PEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_NG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Nigeria bank deposit details
                  title: Bank Deposit NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_KE
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Kenya bank deposit details
                  title: Bank Deposit KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_GH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Ghana bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZA
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: South Africa bank deposit details
                  title: Bank Deposit ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TZ
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Tanzania bank deposit details
                  title: Bank Deposit TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_UG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Uganda bank deposit details
                  title: Bank Deposit UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_RW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Rwanda bank deposit details
                  title: Bank Deposit RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Malawi bank deposit details
                  title: Bank Deposit MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZM
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Zambia bank deposit details
                  title: Bank Deposit ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Botswana bank deposit details
                  title: Bank Deposit BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CD
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    DR Congo bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XOF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: West African CFA bank deposit details
                  title: Bank Deposit XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XAF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Central African CFA bank deposit details
                  title: Bank Deposit XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_NG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Nigeria mobile money details
                  title: Mobile Money NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_KE
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Kenya mobile money details
                  title: Mobile Money KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_GH
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    Ghana mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZA
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: South Africa mobile money details
                  title: Mobile Money ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_TZ
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Tanzania mobile money details
                  title: Mobile Money TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_UG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Uganda mobile money details
                  title: Mobile Money UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_RW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Rwanda mobile money details
                  title: Mobile Money RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_MW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Malawi mobile money details
                  title: Mobile Money MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZM
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Zambia mobile money details
                  title: Mobile Money ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_BW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Botswana mobile money details
                  title: Mobile Money BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_CD
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    DR Congo mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XOF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: West African CFA mobile money details
                  title: Mobile Money XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XAF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Central African CFA mobile money details
                  title: Mobile Money XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number (18-digit CLABE)
                    numericReference:
                      type: string
                      description: Numeric reference
                    notesReference:
                      type: string
                      description: Notes reference
                    destinationClabe:
                      type: string
                      description: >-
                        CLABE — legacy alias, prefer
                        destinationBankAccountNumber
                    destinationTaxId:
                      type: string
                      description: >-
                        Recipient tax id (RFC) — required by some MX
                        bank-deposit rails ("Número de Identificación");
                        optional otherwise
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MX
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - type
                  description: Mexican bank deposit details
                  title: Bank Deposit MX
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPseNumber:
                      type: string
                      description: PSE number
                    type:
                      type: string
                      enum:
                        - PSE
                  required:
                    - destinationName
                    - destinationPseNumber
                    - type
                  description: >-
                    PSE transfer details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: PSE
                  deprecated: true
              description: Detailed withdrawal information
              title: WithdrawalInfo
            source:
              type: string
              enum:
                - ui
                - apiApp
                - externalApi
                - internal
              description: Source of withdrawal creation
              example: externalApi
            requires2FA:
              type: boolean
              description: Whether 2FA is required for this withdrawal
              example: false
            twoFactorToken:
              type: string
              description: 2FA token for email approval
              example: abc123
            twoFactorApprovedAt:
              type: number
              description: Timestamp when 2FA was approved
              example: 1723027132
            errorCode:
              type: string
              description: Error code when status is Review
              example: INSUFFICIENT_BALANCE
            errorDetails:
              type: string
              description: Detailed error information
              example: Insufficient balance for withdrawal
            reviewedBy:
              type: string
              description: Admin email who reviewed the withdrawal
              example: admin@example.com
            reviewedAt:
              type: number
              description: Timestamp when review happened
              example: 1723027132
          required:
            - withdrawalId
            - createdAt
            - amount
            - currency
            - fee
            - feeCurrency
            - status
          description: Details of the withdrawal associated with the order
        createdAt:
          type: number
          description: Creation time of the order (timestamp)
          examples:
            - 1723027132
            - 1723027200
            - 1723027300
        updatedAt:
          type: number
          description: Last update time of the order (timestamp)
          examples:
            - 1723027132
            - 1723027200
            - 1723027300
        status:
          anyOf:
            - type: string
              enum:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
              description: Common status values that are shared across all operation types
              examples:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
            - type: string
              enum:
                - Received
                - Exchanging
                - Exchanged
                - WithdrawProcessing
                - Withdrawn
                - OffRampProcessing
                - OffRamped
                - Deleted
                - PendingCancel
                - Closed
                - WaitingForFundsToExchange
                - WaitingForFundsToSend
                - WaitingForFundsToOffRamp
                - OffRampDocPending
                - OnRampDocPending
                - WaitingForConfirmations
                - PriceChanged
                - Refunded
                - PreparedToOffRamp
                - WithdrawOfframpProcessing
                - WaitingForFundsToSendOfframp
                - WaitingForPayoutSettlement
                - WithdrawPending
                - WithdrawPendingOfframp
          description: >-
            Status of the order. A newly created order is typically `Pending`; a
            balance-funded order may start further along.
          examples:
            - Pending
        externalReference:
          type: string
          description: External reference of the order, as you supplied it on create.
        externalRefeference:
          type: string
          description: >-
            Deprecated misspelling of `externalReference` — same value. Read
            `externalReference` instead; this key remains for backward
            compatibility and will be removed in a future major version.
          deprecated: true
        fee:
          type: number
          minimum: 0
          description: Total fee for the order once all the execution is completed
          examples:
            - 6.37
            - 8.5
            - 10.25
        expectedFee:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: Expected fee given the initial deposit amount
          examples:
            - 6.88
            - 9.2
            - 11.5
        expectedGasFee:
          type: number
          description: Expected gas fee if the withdrawal is with crypto
          examples:
            - 6.88
            - 8.5
            - 10.25
        feeCurrency:
          type: string
          description: Currency of the fee
          examples:
            - EUR
            - USD
            - GBP
      required:
        - orderId
        - createdAt
        - status
        - fee
        - expectedFee
        - feeCurrency
      description: Response schema for creating an order
    GetOrderRequest:
      type: object
      properties:
        orderId:
          type: string
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z0-9]{12}$
          description: ID of the order
          examples:
            - 01CLFXMT67II
            - 2R7E5Y5KFXP8
            - 4FWWRE3Y2URM
      required:
        - orderId
      description: Request schema for getting details of a specific order
    GetOrderResponse:
      type: object
      properties:
        orderId:
          type: string
          description: ID of the order
          examples:
            - 01CLFXMT67II
            - 2R7E5Y5KFXP8
            - 4FWWRE3Y2URM
        deposit:
          type: object
          properties:
            depositId:
              type: string
              minLength: 1
              description: >-
                ID of the deposit. Normally a 12-character internal id; deposits
                created before mid-2026 may carry a longer legacy id. Treat it
                as an opaque string.
            externalReference:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                Your own reference for this deposit. Stored as-is and returned
                on create, detail and list, so you can look the deposit up by it
                after a network timeout instead of retrying blind. Not
                interpreted by VirtuaBroker and not shown to the payer — for the
                payer's transfer reference use depositInfo.referenceCode.
              examples:
                - partner-ref-0001
                - inv_2026_00417
            userData:
              oneOf:
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - individual
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    lastName:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: >-
                        Last name of the user making the deposit (or
                        representative for business)
                      examples:
                        - Doe
                        - Smith
                        - Johnson
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - firstName
                    - userEmail
                    - country
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - business
                    businessName:
                      type: string
                      maxLength: 150
                      description: Business name (required when userType is business)
                      examples:
                        - Acme Corp
                        - Tech Solutions Inc
                        - Global Services Ltd
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - businessName
                    - firstName
                    - userEmail
                    - country
              description: User data of the person/company making the deposit
              examples:
                - userType: individual
                  firstName: John
                  lastName: Doe
                  userEmail: user@virtuabroker.com
                  address: 123 Main St, Anytown, ES
                  taxId: 123-45-6789
                  country: ES
                - userType: individual
                  firstName: Alice
                  lastName: Smith
                  userEmail: alice@example.com
                  address: 456 Elm St, Anytown, ES
                  taxId: 987-65-4321
                  country: ES
            createdAt:
              type: number
              description: Creation time of the deposit
              examples:
                - 1723027132
                - 1723027133
                - 1723027134
            rail:
              type: string
              enum:
                - BALANCE
                - SEPA
                - BTC
                - ETH
                - MATIC
                - POLYGON
                - CELO
                - TRON
                - SOLANA
                - ARBITRUM
                - OPTIMISM
                - AVALANCHE
                - BSC
                - BASE
                - XRP
                - PIX_BR
                - UPI
                - IMPS
                - TRY_BANK_TRANSFER
                - AED_BANK_TRANSFER
                - SPEI
                - IDR_BANK_TRANSFER
                - CREDIT_CARD
                - THAI_QR
                - VIET_QR
                - GCASH
                - ARGENTINA_BANK_TRANSFER
                - PSE
                - CLABE
                - PIX
                - BANK_DEPOSIT_COL
                - BANK_DEPOSIT_AR
                - BANK_DEPOSIT_CL
                - BANK_DEPOSIT_PE
                - BANK_DEPOSIT_BO
                - BANK_DEPOSIT_BR
                - BANK_DEPOSIT_NG
                - BANK_DEPOSIT_KE
                - BANK_DEPOSIT_GH
                - BANK_DEPOSIT_ZA
                - BANK_DEPOSIT_TZ
                - BANK_DEPOSIT_UG
                - BANK_DEPOSIT_RW
                - BANK_DEPOSIT_MW
                - BANK_DEPOSIT_ZM
                - BANK_DEPOSIT_BW
                - BANK_DEPOSIT_CD
                - BANK_DEPOSIT_XOF
                - BANK_DEPOSIT_XAF
                - MOBILE_MONEY_NG
                - MOBILE_MONEY_KE
                - MOBILE_MONEY_GH
                - MOBILE_MONEY_ZA
                - MOBILE_MONEY_TZ
                - MOBILE_MONEY_UG
                - MOBILE_MONEY_RW
                - MOBILE_MONEY_MW
                - MOBILE_MONEY_ZM
                - MOBILE_MONEY_BW
                - MOBILE_MONEY_CD
                - MOBILE_MONEY_XOF
                - MOBILE_MONEY_XAF
                - ACH_US
                - GBP_BANK_TRANSFER
              description: Rail of the deposit
            receivedAt:
              type: number
              description: >-
                Unix ms timestamp of when the funds for this deposit ARRIVED —
                recorded when the incoming payment is matched to the deposit,
                which is before it is credited. Present whenever funds have
                arrived, including a deposit whose funds are still held in
                review; omitted entirely when no funds ever arrived, so a
                never-funded or cancelled deposit has no value here and its
                presence is a reliable settlement signal for reconciliation.
                Identical on GET /v1/deposits and GET /v1/deposits/{depositId}.
                Note that the deposit object embedded in order and operation
                responses does not yet apply this rule — it returns the stored
                value. Not the creation time — use createdAt for that.
              examples:
                - 1723027132000
                - 1723027133000
                - 1723027134000
            expectedAmount:
              type: number
              minimum: 0
              description: Amount expected of the deposit
              examples:
                - 1000
                - 2000
                - 3000
            amount:
              type: number
              minimum: 0
              description: Amount received of the deposit
              examples:
                - 1000
                - 2000
                - 3000
            currency:
              anyOf:
                - type: string
                  enum:
                    - EUR
                    - USD
                    - GBP
                    - BRL
                    - MXN
                    - ARS
                    - COP
                    - PEN
                    - NGN
                    - KES
                    - TZS
                    - UGX
                    - RWF
                    - MWK
                    - ZMW
                    - XOF
                    - XAF
                    - BWP
                - type: string
                  enum:
                    - USDC
                    - USDT
                    - CUSD
                    - BTC
                    - ETH
                    - POL
                    - SOL
                    - TRX
                    - AVAX
                    - XRP
                    - BNB
              description: Currency of the deposit
              examples:
                - EUR
                - BRL
            fee:
              type: number
              minimum: 0
              description: >-
                Fee for the deposit. This value is written once the deposit has
                been executed. Meanwhile it will appear 0.
              example: 10
            expectedFee:
              type: number
              minimum: 0
              description: >-
                Fee for the deposit. This value is correlated with the expected
                amount for the deposit.
              examples:
                - 10
                - 20
                - 30
            feeCurrency:
              anyOf:
                - type: string
                  enum:
                    - EUR
                    - USD
                    - GBP
                    - BRL
                    - MXN
                    - ARS
                    - COP
                    - PEN
                    - NGN
                    - KES
                    - TZS
                    - UGX
                    - RWF
                    - MWK
                    - ZMW
                    - XOF
                    - XAF
                    - BWP
                - type: string
                  enum:
                    - USDC
                    - USDT
                    - CUSD
                    - BTC
                    - ETH
                    - POL
                    - SOL
                    - TRX
                    - AVAX
                    - XRP
                    - BNB
              description: Currency of the fee
              examples:
                - EUR
                - BRL
            status:
              anyOf:
                - type: string
                  enum:
                    - Pending
                    - Processing
                    - Success
                    - Failed
                    - Canceled
                    - Reviewing
                  description: >-
                    Common status values that are shared across all operation
                    types
                  examples:
                    - Pending
                    - Processing
                    - Success
                    - Failed
                    - Canceled
                    - Reviewing
                - type: string
                  enum:
                    - PendingCancel
                    - Received
              description: Status of the deposit
              examples:
                - Pending
                - Success
                - Failed
                - Received
                - PendingCancel
            depositInfo:
              oneOf:
                - type: object
                  properties:
                    accountHolder:
                      type: string
                      description: Name of the account holder
                      example: John Doe
                    iban:
                      type: string
                      description: SEPA Bank Account Number
                      example: DE8937XXXXXXXXXXXX3000
                    bic:
                      type: string
                      description: Bank BIC/SWIFT code
                      example: DEUTDEFF
                    bankName:
                      type: string
                      description: Name of the bank
                      example: Deutsche Bank
                    bankAddress:
                      type: string
                      description: Address of the bank
                      example: Taunusanlage 12
                    bankCity:
                      type: string
                      description: City of the bank
                      example: Frankfurt am Main
                    bankZipcode:
                      type: string
                      description: Zipcode of the bank
                      example: '60325'
                    bankCountry:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country of the bank
                      example: DE
                    depositType:
                      type: string
                      enum:
                        - SEPA
                    amount:
                      type: number
                      minimum: 0
                      description: >-
                        Expected deposit amount. It can be 0 for open-amount
                        bank transfers where the sender chooses the final amount
                        from their bank.
                      example: 1000
                    referenceCode:
                      type: string
                      minLength: 1
                      description: >-
                        A unique identifier for the deposit, crucial for
                        matching the deposit with the corresponding order. The
                        user must include this code when making the deposit to
                        ensure accurate processing. In cases where the reference
                        code is incorrect or missing, we manually match orders
                        based on the sender's name and other available details.
                        In case the deposit is not matched, we will mark the
                        order as Reviewing and the system will require manual
                        attention.
                      example: REF123456
                    extraDepositMethods:
                      type: array
                      items:
                        type: object
                        properties:
                          methodType:
                            type: string
                            enum:
                              - HOSTED_CHECKOUT
                            description: >-
                              HOSTED_CHECKOUT: a hosted payment page to send the
                              payer to (card). More types may be added — treat
                              an unknown value as unsupported and fall back to
                              the bank details in `depositInfo`.
                          url:
                            type: string
                            description: >-
                              URL to send the payer to. For HOSTED_CHECKOUT,
                              redirect the payer here (or embed it) to pay by
                              card.
                            example: https://checkout.example.com/pay/abc123
                          callbackUrl:
                            type: string
                            description: >-
                              Where the payer’s BROWSER is returned after
                              paying. Informational only: it is not a
                              server-to-server notification, and a payer landing
                              there is NOT proof of payment — rely on the
                              deposit status or webhooks for that.
                          referenceCode:
                            type: string
                            description: >-
                              Payment reference for this method (equals the
                              deposit/order reference)
                          amount:
                            type: number
                            description: >-
                              Amount payable via this method when it differs
                              from the deposit amount (e.g. a method-specific
                              surcharge)
                          currency:
                            type: string
                            description: Currency of this method
                          expiresAt:
                            type: number
                            description: >-
                              Unix ms after which `url` is no longer valid, when
                              known
                        required:
                          - methodType
                          - url
                        description: An additional, optional way to pay this deposit
                      description: >-
                        Additional, optional ways to pay this same deposit (e.g.
                        a hosted card page). The bank details above remain the
                        primary method; ignore this field if you only support
                        bank transfer.
                  required:
                    - depositType
                    - amount
                    - referenceCode
                  description: >-
                    Detailed information about a bank deposit, including the
                    amount and a unique reference code for identification.
                - type: object
                  properties:
                    address:
                      type: string
                      minLength: 1
                      description: Crypto wallet address
                      example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                    network:
                      type: string
                      enum:
                        - MATIC
                        - ETH
                        - CELO
                        - TRON
                        - BTC
                        - SOLANA
                        - XRP
                        - CARDANO
                        - BSC
                        - ARBITRUM
                        - OPTIMISM
                        - AVALANCHE
                        - BASE
                      description: Network for the deposit for crypto deposits
                      examples:
                        - ETH
                        - MATIC
                        - CELO
                    memo:
                      type: string
                      description: Optional memo for the transaction
                      example: Payment for services
                    depositType:
                      type: string
                      enum:
                        - CRYPTO
                    qrCode:
                      type: string
                      description: Base64-encoded QR image for the deposit address
                      example: >-
                        iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                    qrCodeUrl:
                      type: string
                      format: uri
                      description: 7-day signed GCS URL of the QR code PNG
                    qrCodeExpiresAt:
                      type: number
                      description: Unix timestamp (ms) when qrCodeUrl expires
                    receivingAddress:
                      type: string
                      description: The wallet address where funds should be sent
                      example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                    tokenContract:
                      type: string
                      description: The ERC20 token contract address
                      example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                    decimals:
                      type: number
                      description: Token decimals (default 18)
                      example: 18
                  required:
                    - address
                    - network
                    - depositType
                  description: Crypto Deposit Information
                - type: object
                  properties:
                    base64QRCode:
                      type: string
                      minLength: 1
                      description: Base64 encoded QR code
                      example: base64QRCode
                    qrCodeString:
                      type: string
                      minLength: 1
                      description: >-
                        The Pix copy-and-paste code (BR Code payload) the payer
                        pastes into their bank app. Pass it through unchanged —
                        it carries its own checksum.
                      example: qrCodeString
                    referenceCode:
                      type: string
                      minLength: 1
                      description: >-
                        A unique identifier for the deposit, crucial for
                        matching the deposit with the corresponding order
                      example: REF123456
                    amount:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: >-
                        The monetary value to be deposited into the bank. This
                        amount should be positive and accurately reflect the
                        intended deposit.
                      example: 1000
                    depositType:
                      type: string
                      enum:
                        - PIX
                  required:
                    - base64QRCode
                    - qrCodeString
                    - referenceCode
                    - amount
                    - depositType
                  description: Pix Deposit Information
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - CREDIT_CARD
                  required:
                    - depositType
                - type: object
                  properties:
                    bankName:
                      type: string
                      description: Name of the bank (present when the rail provides it)
                    accountHolder:
                      type: string
                      description: >-
                        Name of the account holder (present when the rail
                        provides it)
                    clabe:
                      type: string
                      description: CLABE number
                    accountNumber:
                      type: string
                      description: >-
                        Bank account number (e.g. from the BANK_TRANSFER payment
                        method)
                    reference:
                      type: string
                      description: >-
                        Payment reference (e.g. from the BANK_TRANSFER payment
                        method)
                    depositType:
                      type: string
                      enum:
                        - CLABE
                      description: Type of the deposit
                  required:
                    - clabe
                    - depositType
                - type: object
                  properties:
                    url:
                      type: string
                      description: URL of the PSE payment
                    amountPrefilled:
                      type: boolean
                      description: >-
                        Whether the payment page already carries the amount.
                        When false or absent, the payer must enter it.
                    depositType:
                      type: string
                      enum:
                        - PSE
                      description: Type of the deposit
                  required:
                    - url
                    - depositType
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BALANCE
                  required:
                    - depositType
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - PENDING
                    currency:
                      type: string
                      description: Currency of the deposit
                    referenceCode:
                      type: string
                      description: Reference code for the order/deposit
                    amount:
                      type: number
                      minimum: 0
                      description: >-
                        Expected deposit amount. It can be 0 while bank transfer
                        details are open-amount or still being provisioned.
                    extraDepositMethods:
                      type: array
                      items:
                        type: object
                        properties:
                          methodType:
                            type: string
                            enum:
                              - HOSTED_CHECKOUT
                            description: >-
                              HOSTED_CHECKOUT: a hosted payment page to send the
                              payer to (card). More types may be added — treat
                              an unknown value as unsupported and fall back to
                              the bank details in `depositInfo`.
                          url:
                            type: string
                            description: >-
                              URL to send the payer to. For HOSTED_CHECKOUT,
                              redirect the payer here (or embed it) to pay by
                              card.
                            example: https://checkout.example.com/pay/abc123
                          callbackUrl:
                            type: string
                            description: >-
                              Where the payer’s BROWSER is returned after
                              paying. Informational only: it is not a
                              server-to-server notification, and a payer landing
                              there is NOT proof of payment — rely on the
                              deposit status or webhooks for that.
                          referenceCode:
                            type: string
                            description: >-
                              Payment reference for this method (equals the
                              deposit/order reference)
                          amount:
                            type: number
                            description: >-
                              Amount payable via this method when it differs
                              from the deposit amount (e.g. a method-specific
                              surcharge)
                          currency:
                            type: string
                            description: Currency of this method
                          expiresAt:
                            type: number
                            description: >-
                              Unix ms after which `url` is no longer valid, when
                              known
                        required:
                          - methodType
                          - url
                        description: An additional, optional way to pay this deposit
                      description: >-
                        Additional ways to pay while the bank details are being
                        provisioned (e.g. a hosted card page). Optional — ignore
                        it and wait for the bank details if you only support
                        bank transfer.
                    pendingReason:
                      type: string
                      enum:
                        - collection_account_activating
                        - accountless_per_account_corridor
                      description: >-
                        Why the instructions are still being provisioned, when
                        the reason is known. `collection_account_activating`
                        means the collection account for this payer is being
                        activated and payable details are expected shortly.
                        `accountless_per_account_corridor` means this corridor
                        collects only into a collection account dedicated to the
                        paying account, this request names no account, and none
                        can be created for it — so payable details will NOT
                        arrive by waiting; create the deposit against an account
                        instead. Absence never conveys timing on either surface:
                        here it means only that no reason is classifiable, and
                        an account-level deposit-method instruction never
                        carries the field at all. Treat the values as an open
                        set and ignore any you do not recognise.
                  required:
                    - depositType
                    - currency
                    - referenceCode
                    - amount
                  description: >-
                    Deposit details are being provisioned; poll the
                    order/deposit or wait for webhook
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - IMPS
                    accountNumber:
                      type: string
                      description: Account number
                    bankName:
                      type: string
                      description: Name of the bank
                    accountHolder:
                      type: string
                      description: Name of the account holder
                    ifsc:
                      type: string
                      description: ifsc number
                    type:
                      type: string
                      description: Type of the deposit
                    branch:
                      type: string
                      description: Branch of the bank
                    bank:
                      type: string
                      description: Bank of the account
                    otp:
                      type: string
                      description: OTP of the deposit
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - accountNumber
                    - bankName
                    - accountHolder
                    - ifsc
                    - type
                    - branch
                    - bank
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - UPI
                    vpa:
                      type: string
                      description: Virtual Payment Address
                    name:
                      type: string
                      description: Name of the account holder
                    otp:
                      type: string
                      description: OTP for the transaction
                    paymentLink:
                      type: string
                      description: Payment link
                    upiNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional UPI instructions
                  required:
                    - depositType
                    - vpa
                    - name
                    - otp
                    - paymentLink
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - AED_BANK_TRANSFER
                    iban:
                      type: string
                      description: International Bank Account Number
                    name:
                      type: string
                      description: Name of the account holder
                    bank:
                      type: string
                      description: Bank name
                    type:
                      type: string
                      description: Account type
                    address:
                      type: string
                      description: Bank address
                    email:
                      type: string
                      description: Contact email
                    phoneNumber:
                      type: string
                      description: Contact phone number
                    transferCode:
                      type: string
                      description: Transfer code
                    poBox:
                      type: string
                      description: P.O. Box
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - iban
                    - name
                    - bank
                    - type
                    - address
                    - email
                    - phoneNumber
                    - transferCode
                    - poBox
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - SPEI
                    clabe:
                      type: string
                      description: CLABE number
                    name:
                      type: string
                      description: Name of the account holder
                    bank:
                      type: string
                      description: Bank name
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - clabe
                    - name
                    - bank
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - TRY_BANK_TRANSFER
                    iban:
                      type: string
                      description: International Bank Account Number
                    name:
                      type: string
                      description: Name of the account holder
                    bank:
                      type: string
                      description: Bank name
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - iban
                    - name
                    - bank
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - IDR_BANK_TRANSFER
                    virtualAccount:
                      type: string
                      description: Virtual account number
                    name:
                      type: string
                      description: Name of the account holder
                    bank:
                      type: string
                      description: Bank name
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - virtualAccount
                    - name
                    - bank
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - THAI_QR
                    qrCode:
                      type: string
                      description: QR code
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - qrCode
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - VIET_QR
                    qrCode:
                      type: string
                      description: QR code
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - qrCode
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - GCASH
                    qrCode:
                      type: string
                      description: QR code
                    otp:
                      type: string
                      description: OTP for the transaction
                    bankNotes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: number
                            description: 'Type of note: -1 for warning, 1 for info'
                          msg:
                            type: string
                            description: Message content
                        required:
                          - type
                          - msg
                      description: Additional bank instructions
                  required:
                    - depositType
                    - qrCode
                    - otp
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - ARGENTINA_BANK_TRANSFER
                    accountNumber:
                      type: string
                      description: Account number
                    accountHolder:
                      type: string
                      description: Account holder name
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - accountNumber
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - ACH_US
                    routingNumber:
                      type: string
                      description: US bank ABA routing number
                    accountNumber:
                      type: string
                      description: US bank account number
                    beneficiaryName:
                      type: string
                      description: Beneficiary name on the account
                    bankName:
                      type: string
                      description: Name of the bank
                    bankAddress:
                      type: string
                      description: Address of the bank
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names (e.g. ACH, Wire)
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount in USD
                    referenceCode:
                      type: string
                      minLength: 1
                      description: Reference code to include in the wire/ACH transfer
                  required:
                    - depositType
                    - routingNumber
                    - accountNumber
                    - beneficiaryName
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - ACH_PULL
                  required:
                    - depositType
                  description: >-
                    Funds are pulled from the holder's own linked US bank
                    account; no transfer instructions apply
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - LOCALBANK
                      description: >-
                        Deprecated generic local-bank payin type. Superseded by
                        the corridor-specific deposit types (e.g. SEPA, ACH_US,
                        GBP_BANK_TRANSFER, CLABE/SPEI, PIX,
                        ARGENTINA_BANK_TRANSFER, BANK_DEPOSIT_<CC>). Still
                        returned on some corridors and on historical records, so
                        integrators must continue to handle it. Discover the
                        applicable per-currency method via GET
                        /v1/currencies/{currency}/payin-schema.
                      deprecated: true
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - GBP_BANK_TRANSFER
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: UK bank account number
                    sortCode:
                      type: string
                      description: UK sort code
                    bankName:
                      type: string
                      description: Name of the bank
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    schemes:
                      type: array
                      items:
                        type: string
                      description: >-
                        Accepted payment scheme names (e.g. Faster Payments,
                        CHAPS, BACS)
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount in GBP
                    referenceCode:
                      type: string
                      minLength: 1
                      description: Reference code to include in the transfer
                  required:
                    - depositType
                    - accountHolder
                    - accountNumber
                    - sortCode
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_COL
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CL
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BO
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BR
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_NG
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_KE
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_GH
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZA
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TZ
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_UG
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_RW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZM
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CD
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XOF
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XAF
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_NG
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_KE
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_GH
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZA
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_TZ
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_UG
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_RW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_MW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZM
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_BW
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_CD
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_XOF
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
                - type: object
                  properties:
                    depositType:
                      type: string
                      enum:
                        - MOBILE_MONEY_XAF
                    accountHolder:
                      type: string
                      description: Account holder name
                    accountNumber:
                      type: string
                      description: Local bank account number
                    bankName:
                      type: string
                      description: Bank name
                    bankCountry:
                      type: string
                      description: ISO-3166 country code
                    routingCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: >-
                              Routing code type (e.g. "routing_number",
                              "sort_code")
                          value:
                            type: string
                            description: Routing code value
                        required:
                          - type
                          - value
                      description: Routing identifiers (e.g. sort code, routing number)
                    schemes:
                      type: array
                      items:
                        type: string
                      description: Accepted payment scheme names for this account
                    amount:
                      type: number
                      minimum: 0
                      description: Expected deposit amount
                    referenceCode:
                      type: string
                      description: Reference code for the transfer
                  required:
                    - depositType
                    - amount
                    - referenceCode
              description: Details of the deposit
              examples:
                - accountHolder: John Doe
                  iban: DE8937XXXXXXXXXXXX3000
                  bic: COBADEFFXXX
                  bankName: Commerzbank
                  bankAddress: Mainzer Landstrasse 151-153
                  bankCity: Frankfurt
                  bankZipcode: '60327'
                  bankCountry: DE
                  amount: 1000
                  referenceCode: ABC123
                  depositType: SEPA
            depositInfoPending:
              type: boolean
              description: >-
                True while the payment instructions are still being prepared.
                Poll this deposit until it is false (or absent) before showing
                the instructions to the payer.
            complianceHold:
              type: object
              properties:
                reason:
                  type: string
                  enum:
                    - screening
                    - fiat_monitoring
                  description: Compliance hold reason
              required:
                - reason
              description: >-
                Present while the inbound transfer funding this deposit is held
                in provider compliance review. The deposit stays Reviewing
                (amount 0, never credited) until the hold clears (promote to
                Received) or the transfer is rejected/returned (terminalize).
          required:
            - depositId
            - createdAt
            - expectedAmount
            - amount
            - currency
            - fee
            - expectedFee
            - feeCurrency
            - status
            - depositInfo
          description: Details of the deposit associated with the order
        trade:
          type: object
          properties:
            tradeId:
              type: string
              description: ID of the trade
              example: 123e4567-e89b-12d3-a456-426614174000
            createdAt:
              type: number
              description: Creation time of the trade
              example: 1723027132
            pair:
              type: string
              description: Asset pair to trade
              example: BTC/EUR
            tradeType:
              type: string
              enum:
                - buy
                - sell
              description: Type of trade
            volume:
              type: number
              minimum: 0
              exclusiveMinimum: true
              description: Order quantity in lots
              example: 0.5
            price:
              type: number
              minimum: 0
              exclusiveMinimum: true
              description: Price at which to place the order based on the pair
              example: 30000
            conversionRate:
              type: number
              minimum: 0
              exclusiveMinimum: true
              description: Conversion rate at which to place the order based on the pair
              example: 30000
            fee:
              type: number
              minimum: 0
              description: Fee for the trade
              example: 0.1
            feeCurrency:
              type: string
              description: Currency of the fee
              example: EUR
            userEmail:
              type: string
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: Email of the user making the trade
              example: user@example.com
          required:
            - tradeId
            - createdAt
            - pair
            - tradeType
            - volume
            - fee
            - feeCurrency
            - userEmail
          description: Details of the trade associated with the order
        withdraw:
          type: object
          properties:
            withdrawalId:
              anyOf:
                - type: string
                  minLength: 12
                  maxLength: 12
                  pattern: ^[A-Z0-9]{12}$
                  examples:
                    - 01CLFXMT67II
                    - 2R7E5Y5KFXP8
                    - 4FWWRE3Y2URM
                - type: string
                  format: uuid
              description: ID of the withdrawal
            userData:
              oneOf:
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - individual
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    lastName:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: >-
                        Last name of the user making the deposit (or
                        representative for business)
                      examples:
                        - Doe
                        - Smith
                        - Johnson
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - firstName
                    - userEmail
                    - country
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - business
                    businessName:
                      type: string
                      maxLength: 150
                      description: Business name (required when userType is business)
                      examples:
                        - Acme Corp
                        - Tech Solutions Inc
                        - Global Services Ltd
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - businessName
                    - firstName
                    - userEmail
                    - country
              description: User data for the withdrawal
            createdAt:
              type: number
              description: Creation time of the withdrawal
              example: 1723027132
            updatedAt:
              type: number
              description: Last update time of the withdrawal
              example: 1723027132
            userEmail:
              type: string
              format: email
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: Email of the user making the request
              example: user@example.com
            amount:
              type: number
              description: >-
                Amount to be withdrawn. This value is written once the
                withdrawal has been executed. Meanwhile it will appear 0.
              example: 1000
            currency:
              type: string
              description: Currency of the withdrawal
              example: EUR
            fee:
              type: number
              description: >-
                Fee for the withdrawal. This value is written once the
                withdrawal has been executed. Meanwhile it will appear 0.
              example: 10
            feeCurrency:
              type: string
              description: Currency of the fee
              example: EUR
            destinationTransferData:
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BALANCE
                  required:
                    - type
                  description: Balance transfer details
                  title: Balance
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    iban:
                      type: string
                      description: IBAN number
                    bic:
                      type: string
                      description: BIC number (optional)
                    country:
                      type: string
                      description: Country code
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for SEPA payouts —
                        provide it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for SEPA payouts
                        — provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        the payout beneficiary `address.line1` when registering
                        the beneficiary. Stored on the saved transaction method
                        so the user does not have to re-supply it on every
                        withdraw.
                    type:
                      type: string
                      enum:
                        - SEPA
                  required:
                    - destinationName
                    - iban
                    - country
                    - type
                  description: SEPA transfer details
                  title: SEPA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: UK bank account number
                    sortCode:
                      type: string
                      description: UK sort code
                    country:
                      type: string
                      enum:
                        - GB
                      default: GB
                      description: >-
                        ISO 3166 country code of the recipient (GBP transfer is
                        UK-based)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - GBP_BANK_TRANSFER
                  required:
                    - destinationName
                    - accountNumber
                    - sortCode
                    - type
                  description: GBP domestic bank transfer details
                  title: BankDepositGB
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: US bank account number
                    routingNumber:
                      type: string
                      description: US ABA routing number
                    country:
                      type: string
                      enum:
                        - US
                      default: US
                      description: >-
                        ISO 3166 country code of the recipient (ACH is
                        US-domestic)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    bankAccountType:
                      type: string
                      enum:
                        - CHECKING
                        - SAVINGS
                      default: CHECKING
                      description: >-
                        Kind of bank account the payout lands in. Defaults to
                        CHECKING when omitted.
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    state:
                      type: string
                      pattern: ^[A-Z]{2}$
                      description: >-
                        Two-letter US state code of the recipient (e.g. NY).
                        REQUIRED for this rail.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - ACH_US
                  required:
                    - destinationName
                    - accountNumber
                    - routingNumber
                    - state
                    - type
                  description: USD ACH transfer details
                  title: AchUS
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - linkedBankAccount
                    accountLinkId:
                      type: string
                      pattern: ^alnk_[0-9a-f]{24}$
                      description: >-
                        Identifier of one of the account holder own linked bank
                        accounts
                      examples:
                        - alnk_0123456789abcdef01234567
                  required:
                    - type
                    - accountLinkId
                  description: >-
                    A bank account the account holder linked beforehand. Pays
                    out only to the holder of the order; never to a third party.
                    Not available yet.
                  title: LinkedBankAccount
                  deprecated: true
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ETH
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ETH destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ETH
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - MATIC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: MATIC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: MATIC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOL
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOL destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOL
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - TRON
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: TRON destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: TRON
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CELO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CELO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: CELO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BTC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BTC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: BTC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOLANA
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOLANA destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOLANA
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - XRP
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: XRP destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: XRP
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CARDANO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CARDANO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: CARDANO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BSC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BSC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BSC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ARBITRUM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ARBITRUM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ARBITRUM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - OPTIMISM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: OPTIMISM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: OPTIMISM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - AVALANCHE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: AVALANCHE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: AVALANCHE
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BASE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BASE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BASE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/COP/networks.
                        Not read by the payout; retained for the network
                        selector and for stored records.
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_COL
                    destinationBankCode:
                      type: string
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=bankDepositCOL
                        (the code, not the name). Required when creating or
                        updating a destination.
                    destinationBankAccountType:
                      type: string
                      description: >-
                        Bank account type — CORRIENTE or AHORRO. Required when
                        creating or updating a destination.
                    destinationTaxId:
                      type: string
                      description: >-
                        Recipient ID document number. Required when creating or
                        updating a destination.
                    destinationDocumentType:
                      type: string
                      description: >-
                        Recipient ID document type — CC, CE, NIT, TI or PP.
                        Required when creating or updating a destination.
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Colombian bank deposit details. Equivalent to ACH_COP — same
                    payout rail, same required fields, same bank roster; ACH_COP
                    is recommended for new integrations. Note that
                    BANK_DEPOSIT_COL is also the name of a COP collection rail.
                  title: Bank Deposit COL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    brebKey:
                      type: string
                      minLength: 1
                      description: Bre-B key (llave) that identifies the recipient account
                    email:
                      type: string
                      description: Recipient email (optional contact for the Bre-B rail)
                    destinationPhoneNumber:
                      type: string
                      description: >-
                        Recipient phone number (optional contact for the Bre-B
                        rail)
                    type:
                      type: string
                      enum:
                        - BRE_B_COP
                  required:
                    - destinationName
                    - brebKey
                    - type
                  description: Colombian Bre-B payout details
                  title: Bre-B COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{4}$
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=achCOP (the
                        code, not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      description: Recipient bank account number
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: Bank account type (e.g. AHORROS / CORRIENTE)
                    destinationDocumentType:
                      type: string
                      minLength: 1
                      description: Recipient ID document type (e.g. CC / CE / NIT)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: Recipient ID document number
                    type:
                      type: string
                      enum:
                        - ACH_COP
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationDocumentType
                    - destinationTaxId
                    - type
                  description: Colombian ACH payout details
                  title: ACH COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for TWD — no network
                        discovery)
                    destinationBankName:
                      type: string
                      minLength: 2
                      description: Bank name (required — TWD payouts run over SWIFT)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TW
                    destinationBankBranch:
                      type: string
                      minLength: 2
                      description: Bank branch (required — TWD payouts run over SWIFT)
                    bic:
                      type: string
                      pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                      description: SWIFT BIC code (required for TWD payouts)
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankBranch
                    - bic
                  description: Taiwan bank deposit details (SWIFT payout)
                  title: Bank Deposit TW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankBranch:
                      type: string
                      description: Bank branch
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BR
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccount
                    - destinationBankBranch
                    - destinationTaxId
                    - type
                  description: Brazilian bank deposit details
                  title: Bank Deposit BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPixCode:
                      type: string
                      description: PIX code
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - PIX_BR
                  required:
                    - destinationName
                    - destinationPixCode
                    - destinationTaxId
                    - type
                  description: Brazilian PIX details
                  title: PIX BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number
                    destinationBankName:
                      type: string
                      description: Name of the bank
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - destinationBankName
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan bank deposit details
                  title: Bank Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - PHONE_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationPhoneNumber
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan phone deposit details
                  title: Phone Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_IN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - IMPS
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India IMPS details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: IMPS
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - THAI_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Thailand Thai QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Thai QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - VIET_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Vietnam Viet QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Viet QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - GCASH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Philippines GCash details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: GCash
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      description: Tax ID
                    type:
                      type: string
                      enum:
                        - MOBILE_PAYMENT_IN
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - destinationTaxId
                    - type
                  description: >-
                    India mobile payment details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Payment IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      description: Bank code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - type
                  description: >-
                    Vietnam bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit VN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    bic:
                      type: string
                      description: >-
                        SWIFT BIC code (required for HKD payouts via the HK bank
                        corridor)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city (defaults to Hong Kong)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_HK
                  required:
                    - destinationName
                    - destinationBankAccount
                    - bic
                    - destinationBankName
                    - destinationAddress
                    - type
                  description: Hong Kong bank deposit details (HKD bank corridor)
                  title: Bank Deposit HK
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      pattern: ^\d+$
                      description: CNAPS / bank institution code (numeric, variable length)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city
                    destinationState:
                      type: string
                      minLength: 1
                      description: >-
                        Province / state of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPostcode:
                      type: string
                      minLength: 1
                      description: >-
                        Postal code of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPhone:
                      type: string
                      description: >-
                        Phone number of the recipient, without country prefix
                        (optional; defaulted for CN when omitted)
                    destinationTaxId:
                      type: string
                      description: >-
                        Unified Social Credit Code (USCC, GB 32100-2015) of the
                        recipient company — 18 characters including the check
                        digit; whitespace is removed and letters are normalized
                        to uppercase (optional)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - destinationBankName
                    - destinationAddress
                    - destinationCity
                    - destinationState
                    - destinationPostcode
                    - type
                  description: China mainland bank deposit details (CNY bank corridor)
                  title: Bank Deposit CN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/ARS/networks
                        (the network selector, optional)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_AR
                    destinationCBU:
                      type: string
                      description: CBU — 22-digit bank account key (legacy, optional)
                    destinationCVU:
                      type: string
                      description: CVU — 22-digit virtual account key (legacy, optional)
                    destinationAlias:
                      type: string
                      description: Account alias (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: >-
                        CUIT/CUIL tax ID of the recipient (required when
                        creating ARS bank destinations): exactly 11 digits with
                        no hyphens, spaces or other characters, and a valid
                        check digit (e.g. 20000000001)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Argentinian bank deposit details
                  title: Bank Deposit AR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      minLength: 1
                      description: Recipient bank name (required for Chilean bank payouts)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CL
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: >-
                        Account type — corriente or ahorro (required for Chilean
                        bank payouts)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: >-
                        RUT tax ID of the recipient (required for Chilean bank
                        payouts)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankAccountType
                    - destinationTaxId
                  description: Chilean bank deposit details
                  title: Bank Deposit CL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      minLength: 2
                      maxLength: 30
                      description: Recipient name (required, 2–30 characters)
                    destinationBankAccount:
                      type: string
                      minLength: 1
                      maxLength: 11
                      description: >-
                        Bank account number (max 11 digits for Bolivian
                        accounts)
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for BOB — no network
                        discovery)
                    destinationBankName:
                      type: string
                      maxLength: 20
                      description: Bank name (optional, max 20 characters)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BO
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 15
                      description: >-
                        NIT tax ID of the recipient (required for Bolivian
                        payouts)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                    - destinationTaxId
                  description: Bolivian bank deposit details
                  title: Bank Deposit BO
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/PEN/networks
                        (the network selector)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PE
                    destinationCCI:
                      type: string
                      description: CCI — 20-digit interbank account code (legacy, optional)
                    destinationBankAccountType:
                      type: string
                      description: Account type (corriente/ahorro) (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: DNI/RUC document ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationNetworkId
                    - type
                  description: >-
                    Peruvian bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit PE
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{3}$
                      description: >-
                        Recipient bank code (the 3-digit code the rail expects,
                        not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      maxLength: 20
                      description: Recipient bank account number (max 20)
                    destinationBankAccountType:
                      type: string
                      enum:
                        - CORRIENTE
                        - AHORROS
                        - PHONE
                      description: Bank account type
                    destinationCCI:
                      type: string
                      pattern: ^\d{1,20}$
                      description: >-
                        CCI — Peruvian interbank code (required, digits only,
                        max 20)
                    destinationDocumentType:
                      type: string
                      enum:
                        - CC
                        - CE
                        - RUC
                        - PAS
                        - PAR
                        - LMI
                        - OTHER
                      description: Recipient identification type
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: Recipient identification number (max 50)
                    email:
                      type: string
                      pattern: ^.+@.+\..+$
                      description: Recipient email (required for PEN payouts)
                    destinationPhoneNumber:
                      type: string
                      pattern: ^\d{1,9}$
                      description: Recipient phone number (required, max 9 digits)
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationCCI
                    - destinationDocumentType
                    - destinationTaxId
                    - email
                    - destinationPhoneNumber
                    - type
                  description: Peruvian bank deposit details (bank-code payout corridor).
                  title: Bank Deposit PEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_NG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Nigeria bank deposit details
                  title: Bank Deposit NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_KE
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Kenya bank deposit details
                  title: Bank Deposit KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_GH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Ghana bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZA
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: South Africa bank deposit details
                  title: Bank Deposit ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TZ
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Tanzania bank deposit details
                  title: Bank Deposit TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_UG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Uganda bank deposit details
                  title: Bank Deposit UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_RW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Rwanda bank deposit details
                  title: Bank Deposit RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Malawi bank deposit details
                  title: Bank Deposit MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZM
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Zambia bank deposit details
                  title: Bank Deposit ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Botswana bank deposit details
                  title: Bank Deposit BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CD
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    DR Congo bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XOF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: West African CFA bank deposit details
                  title: Bank Deposit XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XAF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Central African CFA bank deposit details
                  title: Bank Deposit XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_NG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Nigeria mobile money details
                  title: Mobile Money NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_KE
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Kenya mobile money details
                  title: Mobile Money KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_GH
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    Ghana mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZA
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: South Africa mobile money details
                  title: Mobile Money ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_TZ
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Tanzania mobile money details
                  title: Mobile Money TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_UG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Uganda mobile money details
                  title: Mobile Money UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_RW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Rwanda mobile money details
                  title: Mobile Money RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_MW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Malawi mobile money details
                  title: Mobile Money MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZM
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Zambia mobile money details
                  title: Mobile Money ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_BW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Botswana mobile money details
                  title: Mobile Money BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_CD
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    DR Congo mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XOF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: West African CFA mobile money details
                  title: Mobile Money XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XAF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Central African CFA mobile money details
                  title: Mobile Money XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number (18-digit CLABE)
                    numericReference:
                      type: string
                      description: Numeric reference
                    notesReference:
                      type: string
                      description: Notes reference
                    destinationClabe:
                      type: string
                      description: >-
                        CLABE — legacy alias, prefer
                        destinationBankAccountNumber
                    destinationTaxId:
                      type: string
                      description: >-
                        Recipient tax id (RFC) — required by some MX
                        bank-deposit rails ("Número de Identificación");
                        optional otherwise
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MX
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - type
                  description: Mexican bank deposit details
                  title: Bank Deposit MX
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPseNumber:
                      type: string
                      description: PSE number
                    type:
                      type: string
                      enum:
                        - PSE
                  required:
                    - destinationName
                    - destinationPseNumber
                    - type
                  description: >-
                    PSE transfer details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: PSE
                  deprecated: true
              description: >-
                The details required for the end user destination transfer
                method.
            status:
              anyOf:
                - type: string
                  enum:
                    - Pending
                    - Processing
                    - Success
                    - Failed
                    - Canceled
                    - Reviewing
                  description: >-
                    Common status values that are shared across all operation
                    types
                  examples:
                    - Pending
                    - Processing
                    - Success
                    - Failed
                    - Canceled
                    - Reviewing
                - type: string
                  enum:
                    - PendingCancel
                    - PendingWithdrawal
                    - PendingVerification
                    - Pending2FA
                    - Compliance
                    - Accepted
                    - Approved
                    - Rejected
                    - Review
              description: Status of the withdrawal
              examples:
                - Pending
                - Pending2FA
                - Compliance
                - Accepted
                - Approved
                - Success
                - Failed
                - Review
                - Rejected
            withdrawalInfo:
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BALANCE
                  required:
                    - type
                  description: Balance transfer details
                  title: Balance
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    iban:
                      type: string
                      description: IBAN number
                    bic:
                      type: string
                      description: BIC number (optional)
                    country:
                      type: string
                      description: Country code
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for SEPA payouts —
                        provide it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for SEPA payouts
                        — provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        the payout beneficiary `address.line1` when registering
                        the beneficiary. Stored on the saved transaction method
                        so the user does not have to re-supply it on every
                        withdraw.
                    type:
                      type: string
                      enum:
                        - SEPA
                  required:
                    - destinationName
                    - iban
                    - country
                    - type
                  description: SEPA transfer details
                  title: SEPA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: UK bank account number
                    sortCode:
                      type: string
                      description: UK sort code
                    country:
                      type: string
                      enum:
                        - GB
                      default: GB
                      description: >-
                        ISO 3166 country code of the recipient (GBP transfer is
                        UK-based)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - GBP_BANK_TRANSFER
                  required:
                    - destinationName
                    - accountNumber
                    - sortCode
                    - type
                  description: GBP domestic bank transfer details
                  title: BankDepositGB
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: US bank account number
                    routingNumber:
                      type: string
                      description: US ABA routing number
                    country:
                      type: string
                      enum:
                        - US
                      default: US
                      description: >-
                        ISO 3166 country code of the recipient (ACH is
                        US-domestic)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    bankAccountType:
                      type: string
                      enum:
                        - CHECKING
                        - SAVINGS
                      default: CHECKING
                      description: >-
                        Kind of bank account the payout lands in. Defaults to
                        CHECKING when omitted.
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    state:
                      type: string
                      pattern: ^[A-Z]{2}$
                      description: >-
                        Two-letter US state code of the recipient (e.g. NY).
                        REQUIRED for this rail.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - ACH_US
                  required:
                    - destinationName
                    - accountNumber
                    - routingNumber
                    - state
                    - type
                  description: USD ACH transfer details
                  title: AchUS
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - linkedBankAccount
                    accountLinkId:
                      type: string
                      pattern: ^alnk_[0-9a-f]{24}$
                      description: >-
                        Identifier of one of the account holder own linked bank
                        accounts
                      examples:
                        - alnk_0123456789abcdef01234567
                  required:
                    - type
                    - accountLinkId
                  description: >-
                    A bank account the account holder linked beforehand. Pays
                    out only to the holder of the order; never to a third party.
                    Not available yet.
                  title: LinkedBankAccount
                  deprecated: true
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ETH
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ETH destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ETH
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - MATIC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: MATIC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: MATIC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOL
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOL destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOL
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - TRON
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: TRON destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: TRON
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CELO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CELO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: CELO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BTC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BTC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: BTC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOLANA
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOLANA destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOLANA
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - XRP
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: XRP destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: XRP
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CARDANO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CARDANO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: CARDANO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BSC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BSC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BSC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ARBITRUM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ARBITRUM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ARBITRUM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - OPTIMISM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: OPTIMISM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: OPTIMISM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - AVALANCHE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: AVALANCHE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: AVALANCHE
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BASE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BASE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BASE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/COP/networks.
                        Not read by the payout; retained for the network
                        selector and for stored records.
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_COL
                    destinationBankCode:
                      type: string
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=bankDepositCOL
                        (the code, not the name). Required when creating or
                        updating a destination.
                    destinationBankAccountType:
                      type: string
                      description: >-
                        Bank account type — CORRIENTE or AHORRO. Required when
                        creating or updating a destination.
                    destinationTaxId:
                      type: string
                      description: >-
                        Recipient ID document number. Required when creating or
                        updating a destination.
                    destinationDocumentType:
                      type: string
                      description: >-
                        Recipient ID document type — CC, CE, NIT, TI or PP.
                        Required when creating or updating a destination.
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Colombian bank deposit details. Equivalent to ACH_COP — same
                    payout rail, same required fields, same bank roster; ACH_COP
                    is recommended for new integrations. Note that
                    BANK_DEPOSIT_COL is also the name of a COP collection rail.
                  title: Bank Deposit COL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    brebKey:
                      type: string
                      minLength: 1
                      description: Bre-B key (llave) that identifies the recipient account
                    email:
                      type: string
                      description: Recipient email (optional contact for the Bre-B rail)
                    destinationPhoneNumber:
                      type: string
                      description: >-
                        Recipient phone number (optional contact for the Bre-B
                        rail)
                    type:
                      type: string
                      enum:
                        - BRE_B_COP
                  required:
                    - destinationName
                    - brebKey
                    - type
                  description: Colombian Bre-B payout details
                  title: Bre-B COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{4}$
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=achCOP (the
                        code, not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      description: Recipient bank account number
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: Bank account type (e.g. AHORROS / CORRIENTE)
                    destinationDocumentType:
                      type: string
                      minLength: 1
                      description: Recipient ID document type (e.g. CC / CE / NIT)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: Recipient ID document number
                    type:
                      type: string
                      enum:
                        - ACH_COP
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationDocumentType
                    - destinationTaxId
                    - type
                  description: Colombian ACH payout details
                  title: ACH COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for TWD — no network
                        discovery)
                    destinationBankName:
                      type: string
                      minLength: 2
                      description: Bank name (required — TWD payouts run over SWIFT)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TW
                    destinationBankBranch:
                      type: string
                      minLength: 2
                      description: Bank branch (required — TWD payouts run over SWIFT)
                    bic:
                      type: string
                      pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                      description: SWIFT BIC code (required for TWD payouts)
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankBranch
                    - bic
                  description: Taiwan bank deposit details (SWIFT payout)
                  title: Bank Deposit TW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankBranch:
                      type: string
                      description: Bank branch
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BR
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccount
                    - destinationBankBranch
                    - destinationTaxId
                    - type
                  description: Brazilian bank deposit details
                  title: Bank Deposit BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPixCode:
                      type: string
                      description: PIX code
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - PIX_BR
                  required:
                    - destinationName
                    - destinationPixCode
                    - destinationTaxId
                    - type
                  description: Brazilian PIX details
                  title: PIX BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number
                    destinationBankName:
                      type: string
                      description: Name of the bank
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - destinationBankName
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan bank deposit details
                  title: Bank Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - PHONE_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationPhoneNumber
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan phone deposit details
                  title: Phone Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_IN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - IMPS
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India IMPS details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: IMPS
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - THAI_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Thailand Thai QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Thai QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - VIET_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Vietnam Viet QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Viet QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - GCASH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Philippines GCash details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: GCash
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      description: Tax ID
                    type:
                      type: string
                      enum:
                        - MOBILE_PAYMENT_IN
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - destinationTaxId
                    - type
                  description: >-
                    India mobile payment details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Payment IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      description: Bank code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - type
                  description: >-
                    Vietnam bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit VN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    bic:
                      type: string
                      description: >-
                        SWIFT BIC code (required for HKD payouts via the HK bank
                        corridor)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city (defaults to Hong Kong)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_HK
                  required:
                    - destinationName
                    - destinationBankAccount
                    - bic
                    - destinationBankName
                    - destinationAddress
                    - type
                  description: Hong Kong bank deposit details (HKD bank corridor)
                  title: Bank Deposit HK
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      pattern: ^\d+$
                      description: CNAPS / bank institution code (numeric, variable length)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city
                    destinationState:
                      type: string
                      minLength: 1
                      description: >-
                        Province / state of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPostcode:
                      type: string
                      minLength: 1
                      description: >-
                        Postal code of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPhone:
                      type: string
                      description: >-
                        Phone number of the recipient, without country prefix
                        (optional; defaulted for CN when omitted)
                    destinationTaxId:
                      type: string
                      description: >-
                        Unified Social Credit Code (USCC, GB 32100-2015) of the
                        recipient company — 18 characters including the check
                        digit; whitespace is removed and letters are normalized
                        to uppercase (optional)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - destinationBankName
                    - destinationAddress
                    - destinationCity
                    - destinationState
                    - destinationPostcode
                    - type
                  description: China mainland bank deposit details (CNY bank corridor)
                  title: Bank Deposit CN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/ARS/networks
                        (the network selector, optional)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_AR
                    destinationCBU:
                      type: string
                      description: CBU — 22-digit bank account key (legacy, optional)
                    destinationCVU:
                      type: string
                      description: CVU — 22-digit virtual account key (legacy, optional)
                    destinationAlias:
                      type: string
                      description: Account alias (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: >-
                        CUIT/CUIL tax ID of the recipient (required when
                        creating ARS bank destinations): exactly 11 digits with
                        no hyphens, spaces or other characters, and a valid
                        check digit (e.g. 20000000001)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Argentinian bank deposit details
                  title: Bank Deposit AR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      minLength: 1
                      description: Recipient bank name (required for Chilean bank payouts)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CL
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: >-
                        Account type — corriente or ahorro (required for Chilean
                        bank payouts)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: >-
                        RUT tax ID of the recipient (required for Chilean bank
                        payouts)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankAccountType
                    - destinationTaxId
                  description: Chilean bank deposit details
                  title: Bank Deposit CL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      minLength: 2
                      maxLength: 30
                      description: Recipient name (required, 2–30 characters)
                    destinationBankAccount:
                      type: string
                      minLength: 1
                      maxLength: 11
                      description: >-
                        Bank account number (max 11 digits for Bolivian
                        accounts)
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for BOB — no network
                        discovery)
                    destinationBankName:
                      type: string
                      maxLength: 20
                      description: Bank name (optional, max 20 characters)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BO
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 15
                      description: >-
                        NIT tax ID of the recipient (required for Bolivian
                        payouts)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                    - destinationTaxId
                  description: Bolivian bank deposit details
                  title: Bank Deposit BO
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/PEN/networks
                        (the network selector)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PE
                    destinationCCI:
                      type: string
                      description: CCI — 20-digit interbank account code (legacy, optional)
                    destinationBankAccountType:
                      type: string
                      description: Account type (corriente/ahorro) (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: DNI/RUC document ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationNetworkId
                    - type
                  description: >-
                    Peruvian bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit PE
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{3}$
                      description: >-
                        Recipient bank code (the 3-digit code the rail expects,
                        not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      maxLength: 20
                      description: Recipient bank account number (max 20)
                    destinationBankAccountType:
                      type: string
                      enum:
                        - CORRIENTE
                        - AHORROS
                        - PHONE
                      description: Bank account type
                    destinationCCI:
                      type: string
                      pattern: ^\d{1,20}$
                      description: >-
                        CCI — Peruvian interbank code (required, digits only,
                        max 20)
                    destinationDocumentType:
                      type: string
                      enum:
                        - CC
                        - CE
                        - RUC
                        - PAS
                        - PAR
                        - LMI
                        - OTHER
                      description: Recipient identification type
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: Recipient identification number (max 50)
                    email:
                      type: string
                      pattern: ^.+@.+\..+$
                      description: Recipient email (required for PEN payouts)
                    destinationPhoneNumber:
                      type: string
                      pattern: ^\d{1,9}$
                      description: Recipient phone number (required, max 9 digits)
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationCCI
                    - destinationDocumentType
                    - destinationTaxId
                    - email
                    - destinationPhoneNumber
                    - type
                  description: Peruvian bank deposit details (bank-code payout corridor).
                  title: Bank Deposit PEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_NG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Nigeria bank deposit details
                  title: Bank Deposit NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_KE
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Kenya bank deposit details
                  title: Bank Deposit KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_GH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Ghana bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZA
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: South Africa bank deposit details
                  title: Bank Deposit ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TZ
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Tanzania bank deposit details
                  title: Bank Deposit TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_UG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Uganda bank deposit details
                  title: Bank Deposit UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_RW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Rwanda bank deposit details
                  title: Bank Deposit RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Malawi bank deposit details
                  title: Bank Deposit MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZM
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Zambia bank deposit details
                  title: Bank Deposit ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Botswana bank deposit details
                  title: Bank Deposit BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CD
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    DR Congo bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XOF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: West African CFA bank deposit details
                  title: Bank Deposit XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XAF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Central African CFA bank deposit details
                  title: Bank Deposit XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_NG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Nigeria mobile money details
                  title: Mobile Money NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_KE
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Kenya mobile money details
                  title: Mobile Money KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_GH
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    Ghana mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZA
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: South Africa mobile money details
                  title: Mobile Money ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_TZ
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Tanzania mobile money details
                  title: Mobile Money TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_UG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Uganda mobile money details
                  title: Mobile Money UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_RW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Rwanda mobile money details
                  title: Mobile Money RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_MW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Malawi mobile money details
                  title: Mobile Money MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZM
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Zambia mobile money details
                  title: Mobile Money ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_BW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Botswana mobile money details
                  title: Mobile Money BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_CD
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    DR Congo mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XOF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: West African CFA mobile money details
                  title: Mobile Money XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XAF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Central African CFA mobile money details
                  title: Mobile Money XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number (18-digit CLABE)
                    numericReference:
                      type: string
                      description: Numeric reference
                    notesReference:
                      type: string
                      description: Notes reference
                    destinationClabe:
                      type: string
                      description: >-
                        CLABE — legacy alias, prefer
                        destinationBankAccountNumber
                    destinationTaxId:
                      type: string
                      description: >-
                        Recipient tax id (RFC) — required by some MX
                        bank-deposit rails ("Número de Identificación");
                        optional otherwise
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MX
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - type
                  description: Mexican bank deposit details
                  title: Bank Deposit MX
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPseNumber:
                      type: string
                      description: PSE number
                    type:
                      type: string
                      enum:
                        - PSE
                  required:
                    - destinationName
                    - destinationPseNumber
                    - type
                  description: >-
                    PSE transfer details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: PSE
                  deprecated: true
              description: Detailed withdrawal information
              title: WithdrawalInfo
            source:
              type: string
              enum:
                - ui
                - apiApp
                - externalApi
                - internal
              description: Source of withdrawal creation
              example: externalApi
            requires2FA:
              type: boolean
              description: Whether 2FA is required for this withdrawal
              example: false
            twoFactorToken:
              type: string
              description: 2FA token for email approval
              example: abc123
            twoFactorApprovedAt:
              type: number
              description: Timestamp when 2FA was approved
              example: 1723027132
            errorCode:
              type: string
              description: Error code when status is Review
              example: INSUFFICIENT_BALANCE
            errorDetails:
              type: string
              description: Detailed error information
              example: Insufficient balance for withdrawal
            reviewedBy:
              type: string
              description: Admin email who reviewed the withdrawal
              example: admin@example.com
            reviewedAt:
              type: number
              description: Timestamp when review happened
              example: 1723027132
          required:
            - withdrawalId
            - createdAt
            - amount
            - currency
            - fee
            - feeCurrency
            - status
          description: Details of the withdrawal associated with the order
        createdAt:
          type: number
          description: Creation time of the order (timestamp)
          examples:
            - 1723027132
            - 1723027200
            - 1723027300
        updatedAt:
          type: number
          description: Last update time of the order (timestamp)
          examples:
            - 1723027132
            - 1723027200
            - 1723027300
        status:
          type: string
          enum:
            - Pending
            - Processing
            - Reviewing
            - Success
            - Failed
            - Canceled
          description: Current status of the order
          title: OrderStatus
          examples:
            - Pending
            - Processing
            - Reviewing
            - Success
            - Failed
        externalReference:
          type: string
          description: External reference of the order, as you supplied it on create.
        externalRefeference:
          type: string
          description: >-
            Deprecated misspelling of `externalReference` — same value. Read
            `externalReference` instead; this key remains for backward
            compatibility and will be removed in a future major version.
          deprecated: true
        fee:
          type: number
          minimum: 0
          description: Total fee for the order once all the execution is completed
          examples:
            - 6.37
            - 8.5
            - 10.25
        expectedFee:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: Expected fee given the initial deposit amount
          examples:
            - 6.88
            - 9.2
            - 11.5
        expectedGasFee:
          type: number
          description: Expected gas fee if the withdrawal is with crypto
          examples:
            - 6.88
            - 8.5
            - 10.25
        feeCurrency:
          type: string
          description: Currency of the fee
          examples:
            - EUR
            - USD
            - GBP
      required:
        - orderId
        - createdAt
        - status
        - fee
        - expectedFee
        - feeCurrency
      description: Response schema for getting details of a specific order
    DeleteOrderRequest:
      type: object
      properties:
        orderId:
          type: string
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z0-9]{12}$
          description: ID of the order
          examples:
            - 01CLFXMT67II
            - 2R7E5Y5KFXP8
            - 4FWWRE3Y2URM
      required:
        - orderId
      description: Request schema for deleting a specific order
    DeleteOrderResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the deletion was successful
        message:
          type: string
          description: Success message
      required:
        - success
      description: Response schema for deleting a specific order
    ListOrdersRequest:
      type: object
      properties:
        currency:
          type: string
          description: Optional currency code to filter the items
          example: EUR
        minAmount:
          type: number
          minimum: 0
        maxAmount:
          type: number
          minimum: 0
        from:
          type: integer
          minimum: 0
        to:
          type: integer
          minimum: 0
        userEmail:
          type: string
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          example: user@example.com
        search:
          type: string
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
        limit:
          type: number
          minimum: 0
        page:
          type: number
          minimum: 0
        status:
          anyOf:
            - type: string
              enum:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
              description: Common status values that are shared across all operation types
              examples:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
            - type: string
              enum:
                - Received
                - Exchanging
                - Exchanged
                - WithdrawProcessing
                - Withdrawn
                - OffRampProcessing
                - OffRamped
                - Deleted
                - PendingCancel
                - Closed
                - WaitingForFundsToExchange
                - WaitingForFundsToSend
                - WaitingForFundsToOffRamp
                - OffRampDocPending
                - OnRampDocPending
                - WaitingForConfirmations
                - PriceChanged
                - Refunded
                - PreparedToOffRamp
                - WithdrawOfframpProcessing
                - WaitingForFundsToSendOfframp
                - WaitingForPayoutSettlement
                - WithdrawPending
                - WithdrawPendingOfframp
            - type: array
              items:
                anyOf:
                  - type: string
                    enum:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                    description: >-
                      Common status values that are shared across all operation
                      types
                    examples:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                  - type: string
                    enum:
                      - Received
                      - Exchanging
                      - Exchanged
                      - WithdrawProcessing
                      - Withdrawn
                      - OffRampProcessing
                      - OffRamped
                      - Deleted
                      - PendingCancel
                      - Closed
                      - WaitingForFundsToExchange
                      - WaitingForFundsToSend
                      - WaitingForFundsToOffRamp
                      - OffRampDocPending
                      - OnRampDocPending
                      - WaitingForConfirmations
                      - PriceChanged
                      - Refunded
                      - PreparedToOffRamp
                      - WithdrawOfframpProcessing
                      - WaitingForFundsToSendOfframp
                      - WaitingForPayoutSettlement
                      - WithdrawPending
                      - WithdrawPendingOfframp
                description: Status vocabulary accepted by the order-list status filter
                examples:
                  - Pending
                  - Success
                  - Failed
                  - Received
                  - Exchanging
                  - Withdrawn
          description: >-
            Optional status filter — a single status or an array of statuses.
            Use the statuses the API returns (Pending, Processing, Reviewing,
            Success, Failed, Canceled); the granular internal states are still
            accepted for backward compatibility.
          examples:
            - Pending
            - - Pending
              - Success
            - - Pending
              - Processing
              - Success
            - - Success
              - Failed
              - Canceled
      additionalProperties: false
      description: Request schema for listing orders with various filters
    ListOrdersResponse:
      type: array
      items:
        type: object
        properties:
          orderId:
            type: string
            description: ID of the order
            examples:
              - 01CLFXMT67II
              - 2R7E5Y5KFXP8
              - 4FWWRE3Y2URM
          deposit:
            type: object
            properties:
              depositId:
                type: string
                minLength: 1
                description: >-
                  ID of the deposit. Normally a 12-character internal id;
                  deposits created before mid-2026 may carry a longer legacy id.
                  Treat it as an opaque string.
              externalReference:
                type: string
                minLength: 1
                maxLength: 128
                description: >-
                  Your own reference for this deposit. Stored as-is and returned
                  on create, detail and list, so you can look the deposit up by
                  it after a network timeout instead of retrying blind. Not
                  interpreted by VirtuaBroker and not shown to the payer — for
                  the payer's transfer reference use depositInfo.referenceCode.
                examples:
                  - partner-ref-0001
                  - inv_2026_00417
              userData:
                oneOf:
                  - type: object
                    properties:
                      userType:
                        type: string
                        enum:
                          - individual
                      firstName:
                        type: string
                        minLength: 1
                        maxLength: 50
                        description: >-
                          First name of the user making the deposit (or
                          representative for business)
                        examples:
                          - John
                          - Alice
                          - Bob
                      lastName:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: >-
                          Last name of the user making the deposit (or
                          representative for business)
                        examples:
                          - Doe
                          - Smith
                          - Johnson
                      userEmail:
                        type: string
                        maxLength: 254
                        format: email
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: Email of the user making the deposit
                        examples:
                          - user@virtuabroker.com
                          - john.doe@example.com
                          - alice@example.com
                      address:
                        type: string
                        maxLength: 150
                        description: Address of the user making the deposit
                        examples:
                          - 123 Main St, Anytown, ES
                          - 456 Elm St, Anytown, ES
                          - 789 Oak St, Anytown, ES
                      taxDocumentType:
                        type: string
                        maxLength: 50
                        description: >-
                          Tax document type of the user making the deposit.
                          Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                          but any string is accepted.
                        examples:
                          - CC
                          - NIT
                          - CE
                          - NIF
                          - Other
                      taxId:
                        type: string
                        maxLength: 30
                        description: Tax ID of the user making the deposit
                        examples:
                          - 123-45-6789
                          - 987-65-4321
                          - 111-22-3333
                      country:
                        type: string
                        enum:
                          - US
                          - CA
                          - GB
                          - DE
                          - FR
                          - AU
                          - JP
                          - KR
                          - SE
                          - 'NO'
                          - DK
                          - FI
                          - NL
                          - BE
                          - CH
                          - AT
                          - NZ
                          - SG
                          - IE
                          - LU
                          - PT
                          - ES
                          - IT
                          - GR
                          - CZ
                          - PL
                          - HU
                          - SK
                          - SI
                          - EE
                          - LT
                          - LV
                          - IS
                          - MT
                          - CY
                          - HR
                          - RO
                          - BG
                          - BR
                          - AR
                          - CL
                          - MX
                          - CO
                          - PE
                          - PA
                          - UY
                          - BO
                          - ZA
                          - NG
                          - KE
                          - GH
                          - TZ
                          - UG
                          - RW
                          - MW
                          - ZM
                          - BW
                          - CD
                          - CI
                          - CM
                          - IL
                          - AE
                          - QA
                          - SA
                          - OM
                          - KW
                          - BH
                          - MY
                          - PH
                          - TH
                          - VN
                          - ID
                          - IN
                          - LK
                          - NP
                          - BD
                          - PK
                          - EG
                          - MA
                          - DZ
                          - TN
                          - JO
                          - LB
                          - TR
                          - KH
                          - MM
                          - LA
                          - EN
                          - BT
                          - VE
                          - TW
                          - HK
                          - CN
                        description: Country code of the user making the deposit
                        examples:
                          - ES
                          - US
                          - GB
                      state:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: State of the user making the deposit
                        examples:
                          - Madrid
                          - New York
                          - London
                      postalCode:
                        type: string
                        minLength: 1
                        maxLength: 30
                        description: Postal code of the user making the deposit
                        examples:
                          - '12345'
                          - '67890'
                          - abcde
                      city:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: City of the user making the deposit
                        examples:
                          - Madrid
                          - New York
                          - London
                      dob:
                        type: string
                        minLength: 1
                        maxLength: 30
                        description: Date of birth of the user making the deposit
                        examples:
                          - '1990-01-01'
                          - '1995-05-15'
                          - '1988-12-31'
                      phoneNumber:
                        type: string
                        maxLength: 30
                        description: Phone number of the user making the deposit
                        examples:
                          - '+447700900123'
                          - '+447700900456'
                          - '+447700900789'
                      kycId:
                        type: string
                        minLength: 1
                        maxLength: 300
                        description: >-
                          KYC ID of the user making the deposit on your platform
                          (if the KYC is done by you, add the url)
                        examples:
                          - kyc-12345
                          - kyc-67890
                          - kyc-abcde
                      activity:
                        type: string
                        description: Activity of the user making the deposit
                        examples:
                          - worker
                          - business
                          - student
                    required:
                      - userType
                      - firstName
                      - userEmail
                      - country
                  - type: object
                    properties:
                      userType:
                        type: string
                        enum:
                          - business
                      businessName:
                        type: string
                        maxLength: 150
                        description: Business name (required when userType is business)
                        examples:
                          - Acme Corp
                          - Tech Solutions Inc
                          - Global Services Ltd
                      firstName:
                        type: string
                        minLength: 1
                        maxLength: 50
                        description: >-
                          First name of the user making the deposit (or
                          representative for business)
                        examples:
                          - John
                          - Alice
                          - Bob
                      userEmail:
                        type: string
                        maxLength: 254
                        format: email
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: Email of the user making the deposit
                        examples:
                          - user@virtuabroker.com
                          - john.doe@example.com
                          - alice@example.com
                      address:
                        type: string
                        maxLength: 150
                        description: Address of the user making the deposit
                        examples:
                          - 123 Main St, Anytown, ES
                          - 456 Elm St, Anytown, ES
                          - 789 Oak St, Anytown, ES
                      taxDocumentType:
                        type: string
                        maxLength: 50
                        description: >-
                          Tax document type of the user making the deposit.
                          Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                          but any string is accepted.
                        examples:
                          - CC
                          - NIT
                          - CE
                          - NIF
                          - Other
                      taxId:
                        type: string
                        maxLength: 30
                        description: Tax ID of the user making the deposit
                        examples:
                          - 123-45-6789
                          - 987-65-4321
                          - 111-22-3333
                      country:
                        type: string
                        enum:
                          - US
                          - CA
                          - GB
                          - DE
                          - FR
                          - AU
                          - JP
                          - KR
                          - SE
                          - 'NO'
                          - DK
                          - FI
                          - NL
                          - BE
                          - CH
                          - AT
                          - NZ
                          - SG
                          - IE
                          - LU
                          - PT
                          - ES
                          - IT
                          - GR
                          - CZ
                          - PL
                          - HU
                          - SK
                          - SI
                          - EE
                          - LT
                          - LV
                          - IS
                          - MT
                          - CY
                          - HR
                          - RO
                          - BG
                          - BR
                          - AR
                          - CL
                          - MX
                          - CO
                          - PE
                          - PA
                          - UY
                          - BO
                          - ZA
                          - NG
                          - KE
                          - GH
                          - TZ
                          - UG
                          - RW
                          - MW
                          - ZM
                          - BW
                          - CD
                          - CI
                          - CM
                          - IL
                          - AE
                          - QA
                          - SA
                          - OM
                          - KW
                          - BH
                          - MY
                          - PH
                          - TH
                          - VN
                          - ID
                          - IN
                          - LK
                          - NP
                          - BD
                          - PK
                          - EG
                          - MA
                          - DZ
                          - TN
                          - JO
                          - LB
                          - TR
                          - KH
                          - MM
                          - LA
                          - EN
                          - BT
                          - VE
                          - TW
                          - HK
                          - CN
                        description: Country code of the user making the deposit
                        examples:
                          - ES
                          - US
                          - GB
                      state:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: State of the user making the deposit
                        examples:
                          - Madrid
                          - New York
                          - London
                      postalCode:
                        type: string
                        minLength: 1
                        maxLength: 30
                        description: Postal code of the user making the deposit
                        examples:
                          - '12345'
                          - '67890'
                          - abcde
                      city:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: City of the user making the deposit
                        examples:
                          - Madrid
                          - New York
                          - London
                      dob:
                        type: string
                        minLength: 1
                        maxLength: 30
                        description: Date of birth of the user making the deposit
                        examples:
                          - '1990-01-01'
                          - '1995-05-15'
                          - '1988-12-31'
                      phoneNumber:
                        type: string
                        maxLength: 30
                        description: Phone number of the user making the deposit
                        examples:
                          - '+447700900123'
                          - '+447700900456'
                          - '+447700900789'
                      kycId:
                        type: string
                        minLength: 1
                        maxLength: 300
                        description: >-
                          KYC ID of the user making the deposit on your platform
                          (if the KYC is done by you, add the url)
                        examples:
                          - kyc-12345
                          - kyc-67890
                          - kyc-abcde
                      activity:
                        type: string
                        description: Activity of the user making the deposit
                        examples:
                          - worker
                          - business
                          - student
                    required:
                      - userType
                      - businessName
                      - firstName
                      - userEmail
                      - country
                description: User data of the person/company making the deposit
                examples:
                  - userType: individual
                    firstName: John
                    lastName: Doe
                    userEmail: user@virtuabroker.com
                    address: 123 Main St, Anytown, ES
                    taxId: 123-45-6789
                    country: ES
                  - userType: individual
                    firstName: Alice
                    lastName: Smith
                    userEmail: alice@example.com
                    address: 456 Elm St, Anytown, ES
                    taxId: 987-65-4321
                    country: ES
              createdAt:
                type: number
                description: Creation time of the deposit
                examples:
                  - 1723027132
                  - 1723027133
                  - 1723027134
              rail:
                type: string
                enum:
                  - BALANCE
                  - SEPA
                  - BTC
                  - ETH
                  - MATIC
                  - POLYGON
                  - CELO
                  - TRON
                  - SOLANA
                  - ARBITRUM
                  - OPTIMISM
                  - AVALANCHE
                  - BSC
                  - BASE
                  - XRP
                  - PIX_BR
                  - UPI
                  - IMPS
                  - TRY_BANK_TRANSFER
                  - AED_BANK_TRANSFER
                  - SPEI
                  - IDR_BANK_TRANSFER
                  - CREDIT_CARD
                  - THAI_QR
                  - VIET_QR
                  - GCASH
                  - ARGENTINA_BANK_TRANSFER
                  - PSE
                  - CLABE
                  - PIX
                  - BANK_DEPOSIT_COL
                  - BANK_DEPOSIT_AR
                  - BANK_DEPOSIT_CL
                  - BANK_DEPOSIT_PE
                  - BANK_DEPOSIT_BO
                  - BANK_DEPOSIT_BR
                  - BANK_DEPOSIT_NG
                  - BANK_DEPOSIT_KE
                  - BANK_DEPOSIT_GH
                  - BANK_DEPOSIT_ZA
                  - BANK_DEPOSIT_TZ
                  - BANK_DEPOSIT_UG
                  - BANK_DEPOSIT_RW
                  - BANK_DEPOSIT_MW
                  - BANK_DEPOSIT_ZM
                  - BANK_DEPOSIT_BW
                  - BANK_DEPOSIT_CD
                  - BANK_DEPOSIT_XOF
                  - BANK_DEPOSIT_XAF
                  - MOBILE_MONEY_NG
                  - MOBILE_MONEY_KE
                  - MOBILE_MONEY_GH
                  - MOBILE_MONEY_ZA
                  - MOBILE_MONEY_TZ
                  - MOBILE_MONEY_UG
                  - MOBILE_MONEY_RW
                  - MOBILE_MONEY_MW
                  - MOBILE_MONEY_ZM
                  - MOBILE_MONEY_BW
                  - MOBILE_MONEY_CD
                  - MOBILE_MONEY_XOF
                  - MOBILE_MONEY_XAF
                  - ACH_US
                  - GBP_BANK_TRANSFER
                description: Rail of the deposit
              receivedAt:
                type: number
                description: >-
                  Unix ms timestamp of when the funds for this deposit ARRIVED —
                  recorded when the incoming payment is matched to the deposit,
                  which is before it is credited. Present whenever funds have
                  arrived, including a deposit whose funds are still held in
                  review; omitted entirely when no funds ever arrived, so a
                  never-funded or cancelled deposit has no value here and its
                  presence is a reliable settlement signal for reconciliation.
                  Identical on GET /v1/deposits and GET
                  /v1/deposits/{depositId}. Note that the deposit object
                  embedded in order and operation responses does not yet apply
                  this rule — it returns the stored value. Not the creation time
                  — use createdAt for that.
                examples:
                  - 1723027132000
                  - 1723027133000
                  - 1723027134000
              expectedAmount:
                type: number
                minimum: 0
                description: Amount expected of the deposit
                examples:
                  - 1000
                  - 2000
                  - 3000
              amount:
                type: number
                minimum: 0
                description: Amount received of the deposit
                examples:
                  - 1000
                  - 2000
                  - 3000
              currency:
                anyOf:
                  - type: string
                    enum:
                      - EUR
                      - USD
                      - GBP
                      - BRL
                      - MXN
                      - ARS
                      - COP
                      - PEN
                      - NGN
                      - KES
                      - TZS
                      - UGX
                      - RWF
                      - MWK
                      - ZMW
                      - XOF
                      - XAF
                      - BWP
                  - type: string
                    enum:
                      - USDC
                      - USDT
                      - CUSD
                      - BTC
                      - ETH
                      - POL
                      - SOL
                      - TRX
                      - AVAX
                      - XRP
                      - BNB
                description: Currency of the deposit
                examples:
                  - EUR
                  - BRL
              fee:
                type: number
                minimum: 0
                description: >-
                  Fee for the deposit. This value is written once the deposit
                  has been executed. Meanwhile it will appear 0.
                example: 10
              expectedFee:
                type: number
                minimum: 0
                description: >-
                  Fee for the deposit. This value is correlated with the
                  expected amount for the deposit.
                examples:
                  - 10
                  - 20
                  - 30
              feeCurrency:
                anyOf:
                  - type: string
                    enum:
                      - EUR
                      - USD
                      - GBP
                      - BRL
                      - MXN
                      - ARS
                      - COP
                      - PEN
                      - NGN
                      - KES
                      - TZS
                      - UGX
                      - RWF
                      - MWK
                      - ZMW
                      - XOF
                      - XAF
                      - BWP
                  - type: string
                    enum:
                      - USDC
                      - USDT
                      - CUSD
                      - BTC
                      - ETH
                      - POL
                      - SOL
                      - TRX
                      - AVAX
                      - XRP
                      - BNB
                description: Currency of the fee
                examples:
                  - EUR
                  - BRL
              status:
                anyOf:
                  - type: string
                    enum:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                    description: >-
                      Common status values that are shared across all operation
                      types
                    examples:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                  - type: string
                    enum:
                      - PendingCancel
                      - Received
                description: Status of the deposit
                examples:
                  - Pending
                  - Success
                  - Failed
                  - Received
                  - PendingCancel
              depositInfo:
                oneOf:
                  - type: object
                    properties:
                      accountHolder:
                        type: string
                        description: Name of the account holder
                        example: John Doe
                      iban:
                        type: string
                        description: SEPA Bank Account Number
                        example: DE8937XXXXXXXXXXXX3000
                      bic:
                        type: string
                        description: Bank BIC/SWIFT code
                        example: DEUTDEFF
                      bankName:
                        type: string
                        description: Name of the bank
                        example: Deutsche Bank
                      bankAddress:
                        type: string
                        description: Address of the bank
                        example: Taunusanlage 12
                      bankCity:
                        type: string
                        description: City of the bank
                        example: Frankfurt am Main
                      bankZipcode:
                        type: string
                        description: Zipcode of the bank
                        example: '60325'
                      bankCountry:
                        type: string
                        enum:
                          - US
                          - CA
                          - GB
                          - DE
                          - FR
                          - AU
                          - JP
                          - KR
                          - SE
                          - 'NO'
                          - DK
                          - FI
                          - NL
                          - BE
                          - CH
                          - AT
                          - NZ
                          - SG
                          - IE
                          - LU
                          - PT
                          - ES
                          - IT
                          - GR
                          - CZ
                          - PL
                          - HU
                          - SK
                          - SI
                          - EE
                          - LT
                          - LV
                          - IS
                          - MT
                          - CY
                          - HR
                          - RO
                          - BG
                          - BR
                          - AR
                          - CL
                          - MX
                          - CO
                          - PE
                          - PA
                          - UY
                          - BO
                          - ZA
                          - NG
                          - KE
                          - GH
                          - TZ
                          - UG
                          - RW
                          - MW
                          - ZM
                          - BW
                          - CD
                          - CI
                          - CM
                          - IL
                          - AE
                          - QA
                          - SA
                          - OM
                          - KW
                          - BH
                          - MY
                          - PH
                          - TH
                          - VN
                          - ID
                          - IN
                          - LK
                          - NP
                          - BD
                          - PK
                          - EG
                          - MA
                          - DZ
                          - TN
                          - JO
                          - LB
                          - TR
                          - KH
                          - MM
                          - LA
                          - EN
                          - BT
                          - VE
                          - TW
                          - HK
                          - CN
                        description: Country of the bank
                        example: DE
                      depositType:
                        type: string
                        enum:
                          - SEPA
                      amount:
                        type: number
                        minimum: 0
                        description: >-
                          Expected deposit amount. It can be 0 for open-amount
                          bank transfers where the sender chooses the final
                          amount from their bank.
                        example: 1000
                      referenceCode:
                        type: string
                        minLength: 1
                        description: >-
                          A unique identifier for the deposit, crucial for
                          matching the deposit with the corresponding order. The
                          user must include this code when making the deposit to
                          ensure accurate processing. In cases where the
                          reference code is incorrect or missing, we manually
                          match orders based on the sender's name and other
                          available details. In case the deposit is not matched,
                          we will mark the order as Reviewing and the system
                          will require manual attention.
                        example: REF123456
                      extraDepositMethods:
                        type: array
                        items:
                          type: object
                          properties:
                            methodType:
                              type: string
                              enum:
                                - HOSTED_CHECKOUT
                              description: >-
                                HOSTED_CHECKOUT: a hosted payment page to send
                                the payer to (card). More types may be added —
                                treat an unknown value as unsupported and fall
                                back to the bank details in `depositInfo`.
                            url:
                              type: string
                              description: >-
                                URL to send the payer to. For HOSTED_CHECKOUT,
                                redirect the payer here (or embed it) to pay by
                                card.
                              example: https://checkout.example.com/pay/abc123
                            callbackUrl:
                              type: string
                              description: >-
                                Where the payer’s BROWSER is returned after
                                paying. Informational only: it is not a
                                server-to-server notification, and a payer
                                landing there is NOT proof of payment — rely on
                                the deposit status or webhooks for that.
                            referenceCode:
                              type: string
                              description: >-
                                Payment reference for this method (equals the
                                deposit/order reference)
                            amount:
                              type: number
                              description: >-
                                Amount payable via this method when it differs
                                from the deposit amount (e.g. a method-specific
                                surcharge)
                            currency:
                              type: string
                              description: Currency of this method
                            expiresAt:
                              type: number
                              description: >-
                                Unix ms after which `url` is no longer valid,
                                when known
                          required:
                            - methodType
                            - url
                          description: An additional, optional way to pay this deposit
                        description: >-
                          Additional, optional ways to pay this same deposit
                          (e.g. a hosted card page). The bank details above
                          remain the primary method; ignore this field if you
                          only support bank transfer.
                    required:
                      - depositType
                      - amount
                      - referenceCode
                    description: >-
                      Detailed information about a bank deposit, including the
                      amount and a unique reference code for identification.
                  - type: object
                    properties:
                      address:
                        type: string
                        minLength: 1
                        description: Crypto wallet address
                        example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                      network:
                        type: string
                        enum:
                          - MATIC
                          - ETH
                          - CELO
                          - TRON
                          - BTC
                          - SOLANA
                          - XRP
                          - CARDANO
                          - BSC
                          - ARBITRUM
                          - OPTIMISM
                          - AVALANCHE
                          - BASE
                        description: Network for the deposit for crypto deposits
                        examples:
                          - ETH
                          - MATIC
                          - CELO
                      memo:
                        type: string
                        description: Optional memo for the transaction
                        example: Payment for services
                      depositType:
                        type: string
                        enum:
                          - CRYPTO
                      qrCode:
                        type: string
                        description: Base64-encoded QR image for the deposit address
                        example: >-
                          iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                      qrCodeUrl:
                        type: string
                        format: uri
                        description: 7-day signed GCS URL of the QR code PNG
                      qrCodeExpiresAt:
                        type: number
                        description: Unix timestamp (ms) when qrCodeUrl expires
                      receivingAddress:
                        type: string
                        description: The wallet address where funds should be sent
                        example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                      tokenContract:
                        type: string
                        description: The ERC20 token contract address
                        example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                      decimals:
                        type: number
                        description: Token decimals (default 18)
                        example: 18
                    required:
                      - address
                      - network
                      - depositType
                    description: Crypto Deposit Information
                  - type: object
                    properties:
                      base64QRCode:
                        type: string
                        minLength: 1
                        description: Base64 encoded QR code
                        example: base64QRCode
                      qrCodeString:
                        type: string
                        minLength: 1
                        description: >-
                          The Pix copy-and-paste code (BR Code payload) the
                          payer pastes into their bank app. Pass it through
                          unchanged — it carries its own checksum.
                        example: qrCodeString
                      referenceCode:
                        type: string
                        minLength: 1
                        description: >-
                          A unique identifier for the deposit, crucial for
                          matching the deposit with the corresponding order
                        example: REF123456
                      amount:
                        type: number
                        minimum: 0
                        exclusiveMinimum: true
                        description: >-
                          The monetary value to be deposited into the bank. This
                          amount should be positive and accurately reflect the
                          intended deposit.
                        example: 1000
                      depositType:
                        type: string
                        enum:
                          - PIX
                    required:
                      - base64QRCode
                      - qrCodeString
                      - referenceCode
                      - amount
                      - depositType
                    description: Pix Deposit Information
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - CREDIT_CARD
                    required:
                      - depositType
                  - type: object
                    properties:
                      bankName:
                        type: string
                        description: Name of the bank (present when the rail provides it)
                      accountHolder:
                        type: string
                        description: >-
                          Name of the account holder (present when the rail
                          provides it)
                      clabe:
                        type: string
                        description: CLABE number
                      accountNumber:
                        type: string
                        description: >-
                          Bank account number (e.g. from the BANK_TRANSFER
                          payment method)
                      reference:
                        type: string
                        description: >-
                          Payment reference (e.g. from the BANK_TRANSFER payment
                          method)
                      depositType:
                        type: string
                        enum:
                          - CLABE
                        description: Type of the deposit
                    required:
                      - clabe
                      - depositType
                  - type: object
                    properties:
                      url:
                        type: string
                        description: URL of the PSE payment
                      amountPrefilled:
                        type: boolean
                        description: >-
                          Whether the payment page already carries the amount.
                          When false or absent, the payer must enter it.
                      depositType:
                        type: string
                        enum:
                          - PSE
                        description: Type of the deposit
                    required:
                      - url
                      - depositType
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BALANCE
                    required:
                      - depositType
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - PENDING
                      currency:
                        type: string
                        description: Currency of the deposit
                      referenceCode:
                        type: string
                        description: Reference code for the order/deposit
                      amount:
                        type: number
                        minimum: 0
                        description: >-
                          Expected deposit amount. It can be 0 while bank
                          transfer details are open-amount or still being
                          provisioned.
                      extraDepositMethods:
                        type: array
                        items:
                          type: object
                          properties:
                            methodType:
                              type: string
                              enum:
                                - HOSTED_CHECKOUT
                              description: >-
                                HOSTED_CHECKOUT: a hosted payment page to send
                                the payer to (card). More types may be added —
                                treat an unknown value as unsupported and fall
                                back to the bank details in `depositInfo`.
                            url:
                              type: string
                              description: >-
                                URL to send the payer to. For HOSTED_CHECKOUT,
                                redirect the payer here (or embed it) to pay by
                                card.
                              example: https://checkout.example.com/pay/abc123
                            callbackUrl:
                              type: string
                              description: >-
                                Where the payer’s BROWSER is returned after
                                paying. Informational only: it is not a
                                server-to-server notification, and a payer
                                landing there is NOT proof of payment — rely on
                                the deposit status or webhooks for that.
                            referenceCode:
                              type: string
                              description: >-
                                Payment reference for this method (equals the
                                deposit/order reference)
                            amount:
                              type: number
                              description: >-
                                Amount payable via this method when it differs
                                from the deposit amount (e.g. a method-specific
                                surcharge)
                            currency:
                              type: string
                              description: Currency of this method
                            expiresAt:
                              type: number
                              description: >-
                                Unix ms after which `url` is no longer valid,
                                when known
                          required:
                            - methodType
                            - url
                          description: An additional, optional way to pay this deposit
                        description: >-
                          Additional ways to pay while the bank details are
                          being provisioned (e.g. a hosted card page). Optional
                          — ignore it and wait for the bank details if you only
                          support bank transfer.
                      pendingReason:
                        type: string
                        enum:
                          - collection_account_activating
                          - accountless_per_account_corridor
                        description: >-
                          Why the instructions are still being provisioned, when
                          the reason is known. `collection_account_activating`
                          means the collection account for this payer is being
                          activated and payable details are expected shortly.
                          `accountless_per_account_corridor` means this corridor
                          collects only into a collection account dedicated to
                          the paying account, this request names no account, and
                          none can be created for it — so payable details will
                          NOT arrive by waiting; create the deposit against an
                          account instead. Absence never conveys timing on
                          either surface: here it means only that no reason is
                          classifiable, and an account-level deposit-method
                          instruction never carries the field at all. Treat the
                          values as an open set and ignore any you do not
                          recognise.
                    required:
                      - depositType
                      - currency
                      - referenceCode
                      - amount
                    description: >-
                      Deposit details are being provisioned; poll the
                      order/deposit or wait for webhook
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - IMPS
                      accountNumber:
                        type: string
                        description: Account number
                      bankName:
                        type: string
                        description: Name of the bank
                      accountHolder:
                        type: string
                        description: Name of the account holder
                      ifsc:
                        type: string
                        description: ifsc number
                      type:
                        type: string
                        description: Type of the deposit
                      branch:
                        type: string
                        description: Branch of the bank
                      bank:
                        type: string
                        description: Bank of the account
                      otp:
                        type: string
                        description: OTP of the deposit
                      bankNotes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: number
                              description: 'Type of note: -1 for warning, 1 for info'
                            msg:
                              type: string
                              description: Message content
                          required:
                            - type
                            - msg
                        description: Additional bank instructions
                    required:
                      - depositType
                      - accountNumber
                      - bankName
                      - accountHolder
                      - ifsc
                      - type
                      - branch
                      - bank
                      - otp
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - UPI
                      vpa:
                        type: string
                        description: Virtual Payment Address
                      name:
                        type: string
                        description: Name of the account holder
                      otp:
                        type: string
                        description: OTP for the transaction
                      paymentLink:
                        type: string
                        description: Payment link
                      upiNotes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: number
                              description: 'Type of note: -1 for warning, 1 for info'
                            msg:
                              type: string
                              description: Message content
                          required:
                            - type
                            - msg
                        description: Additional UPI instructions
                    required:
                      - depositType
                      - vpa
                      - name
                      - otp
                      - paymentLink
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - AED_BANK_TRANSFER
                      iban:
                        type: string
                        description: International Bank Account Number
                      name:
                        type: string
                        description: Name of the account holder
                      bank:
                        type: string
                        description: Bank name
                      type:
                        type: string
                        description: Account type
                      address:
                        type: string
                        description: Bank address
                      email:
                        type: string
                        description: Contact email
                      phoneNumber:
                        type: string
                        description: Contact phone number
                      transferCode:
                        type: string
                        description: Transfer code
                      poBox:
                        type: string
                        description: P.O. Box
                      otp:
                        type: string
                        description: OTP for the transaction
                      bankNotes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: number
                              description: 'Type of note: -1 for warning, 1 for info'
                            msg:
                              type: string
                              description: Message content
                          required:
                            - type
                            - msg
                        description: Additional bank instructions
                    required:
                      - depositType
                      - iban
                      - name
                      - bank
                      - type
                      - address
                      - email
                      - phoneNumber
                      - transferCode
                      - poBox
                      - otp
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - SPEI
                      clabe:
                        type: string
                        description: CLABE number
                      name:
                        type: string
                        description: Name of the account holder
                      bank:
                        type: string
                        description: Bank name
                      bankNotes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: number
                              description: 'Type of note: -1 for warning, 1 for info'
                            msg:
                              type: string
                              description: Message content
                          required:
                            - type
                            - msg
                        description: Additional bank instructions
                    required:
                      - depositType
                      - clabe
                      - name
                      - bank
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - TRY_BANK_TRANSFER
                      iban:
                        type: string
                        description: International Bank Account Number
                      name:
                        type: string
                        description: Name of the account holder
                      bank:
                        type: string
                        description: Bank name
                      otp:
                        type: string
                        description: OTP for the transaction
                      bankNotes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: number
                              description: 'Type of note: -1 for warning, 1 for info'
                            msg:
                              type: string
                              description: Message content
                          required:
                            - type
                            - msg
                        description: Additional bank instructions
                    required:
                      - depositType
                      - iban
                      - name
                      - bank
                      - otp
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - IDR_BANK_TRANSFER
                      virtualAccount:
                        type: string
                        description: Virtual account number
                      name:
                        type: string
                        description: Name of the account holder
                      bank:
                        type: string
                        description: Bank name
                      bankNotes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: number
                              description: 'Type of note: -1 for warning, 1 for info'
                            msg:
                              type: string
                              description: Message content
                          required:
                            - type
                            - msg
                        description: Additional bank instructions
                    required:
                      - depositType
                      - virtualAccount
                      - name
                      - bank
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - THAI_QR
                      qrCode:
                        type: string
                        description: QR code
                      otp:
                        type: string
                        description: OTP for the transaction
                      bankNotes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: number
                              description: 'Type of note: -1 for warning, 1 for info'
                            msg:
                              type: string
                              description: Message content
                          required:
                            - type
                            - msg
                        description: Additional bank instructions
                    required:
                      - depositType
                      - qrCode
                      - otp
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - VIET_QR
                      qrCode:
                        type: string
                        description: QR code
                      otp:
                        type: string
                        description: OTP for the transaction
                      bankNotes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: number
                              description: 'Type of note: -1 for warning, 1 for info'
                            msg:
                              type: string
                              description: Message content
                          required:
                            - type
                            - msg
                        description: Additional bank instructions
                    required:
                      - depositType
                      - qrCode
                      - otp
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - GCASH
                      qrCode:
                        type: string
                        description: QR code
                      otp:
                        type: string
                        description: OTP for the transaction
                      bankNotes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: number
                              description: 'Type of note: -1 for warning, 1 for info'
                            msg:
                              type: string
                              description: Message content
                          required:
                            - type
                            - msg
                        description: Additional bank instructions
                    required:
                      - depositType
                      - qrCode
                      - otp
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - ARGENTINA_BANK_TRANSFER
                      accountNumber:
                        type: string
                        description: Account number
                      accountHolder:
                        type: string
                        description: Account holder name
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - accountNumber
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - ACH_US
                      routingNumber:
                        type: string
                        description: US bank ABA routing number
                      accountNumber:
                        type: string
                        description: US bank account number
                      beneficiaryName:
                        type: string
                        description: Beneficiary name on the account
                      bankName:
                        type: string
                        description: Name of the bank
                      bankAddress:
                        type: string
                        description: Address of the bank
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names (e.g. ACH, Wire)
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount in USD
                      referenceCode:
                        type: string
                        minLength: 1
                        description: Reference code to include in the wire/ACH transfer
                    required:
                      - depositType
                      - routingNumber
                      - accountNumber
                      - beneficiaryName
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - ACH_PULL
                    required:
                      - depositType
                    description: >-
                      Funds are pulled from the holder's own linked US bank
                      account; no transfer instructions apply
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - LOCALBANK
                        description: >-
                          Deprecated generic local-bank payin type. Superseded
                          by the corridor-specific deposit types (e.g. SEPA,
                          ACH_US, GBP_BANK_TRANSFER, CLABE/SPEI, PIX,
                          ARGENTINA_BANK_TRANSFER, BANK_DEPOSIT_<CC>). Still
                          returned on some corridors and on historical records,
                          so integrators must continue to handle it. Discover
                          the applicable per-currency method via GET
                          /v1/currencies/{currency}/payin-schema.
                        deprecated: true
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - GBP_BANK_TRANSFER
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: UK bank account number
                      sortCode:
                        type: string
                        description: UK sort code
                      bankName:
                        type: string
                        description: Name of the bank
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      schemes:
                        type: array
                        items:
                          type: string
                        description: >-
                          Accepted payment scheme names (e.g. Faster Payments,
                          CHAPS, BACS)
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount in GBP
                      referenceCode:
                        type: string
                        minLength: 1
                        description: Reference code to include in the transfer
                    required:
                      - depositType
                      - accountHolder
                      - accountNumber
                      - sortCode
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_COL
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_CL
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_BO
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_BR
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_NG
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_KE
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_GH
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_ZA
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_TZ
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_UG
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_RW
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_MW
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_ZM
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_BW
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_CD
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_XOF
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - BANK_DEPOSIT_XAF
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_NG
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_KE
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_GH
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_ZA
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_TZ
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_UG
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_RW
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_MW
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_ZM
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_BW
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_CD
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_XOF
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                  - type: object
                    properties:
                      depositType:
                        type: string
                        enum:
                          - MOBILE_MONEY_XAF
                      accountHolder:
                        type: string
                        description: Account holder name
                      accountNumber:
                        type: string
                        description: Local bank account number
                      bankName:
                        type: string
                        description: Bank name
                      bankCountry:
                        type: string
                        description: ISO-3166 country code
                      routingCodes:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Routing code type (e.g. "routing_number",
                                "sort_code")
                            value:
                              type: string
                              description: Routing code value
                          required:
                            - type
                            - value
                        description: Routing identifiers (e.g. sort code, routing number)
                      schemes:
                        type: array
                        items:
                          type: string
                        description: Accepted payment scheme names for this account
                      amount:
                        type: number
                        minimum: 0
                        description: Expected deposit amount
                      referenceCode:
                        type: string
                        description: Reference code for the transfer
                    required:
                      - depositType
                      - amount
                      - referenceCode
                description: Details of the deposit
                examples:
                  - accountHolder: John Doe
                    iban: DE8937XXXXXXXXXXXX3000
                    bic: COBADEFFXXX
                    bankName: Commerzbank
                    bankAddress: Mainzer Landstrasse 151-153
                    bankCity: Frankfurt
                    bankZipcode: '60327'
                    bankCountry: DE
                    amount: 1000
                    referenceCode: ABC123
                    depositType: SEPA
              depositInfoPending:
                type: boolean
                description: >-
                  True while the payment instructions are still being prepared.
                  Poll this deposit until it is false (or absent) before showing
                  the instructions to the payer.
              complianceHold:
                type: object
                properties:
                  reason:
                    type: string
                    enum:
                      - screening
                      - fiat_monitoring
                    description: Compliance hold reason
                required:
                  - reason
                description: >-
                  Present while the inbound transfer funding this deposit is
                  held in provider compliance review. The deposit stays
                  Reviewing (amount 0, never credited) until the hold clears
                  (promote to Received) or the transfer is rejected/returned
                  (terminalize).
            required:
              - depositId
              - createdAt
              - expectedAmount
              - amount
              - currency
              - fee
              - expectedFee
              - feeCurrency
              - status
              - depositInfo
            description: Details of the deposit associated with the order
          trade:
            type: object
            properties:
              tradeId:
                type: string
                description: ID of the trade
                example: 123e4567-e89b-12d3-a456-426614174000
              createdAt:
                type: number
                description: Creation time of the trade
                example: 1723027132
              pair:
                type: string
                description: Asset pair to trade
                example: BTC/EUR
              tradeType:
                type: string
                enum:
                  - buy
                  - sell
                description: Type of trade
              volume:
                type: number
                minimum: 0
                exclusiveMinimum: true
                description: Order quantity in lots
                example: 0.5
              price:
                type: number
                minimum: 0
                exclusiveMinimum: true
                description: Price at which to place the order based on the pair
                example: 30000
              conversionRate:
                type: number
                minimum: 0
                exclusiveMinimum: true
                description: Conversion rate at which to place the order based on the pair
                example: 30000
              fee:
                type: number
                minimum: 0
                description: Fee for the trade
                example: 0.1
              feeCurrency:
                type: string
                description: Currency of the fee
                example: EUR
              userEmail:
                type: string
                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                description: Email of the user making the trade
                example: user@example.com
            required:
              - tradeId
              - createdAt
              - pair
              - tradeType
              - volume
              - fee
              - feeCurrency
              - userEmail
            description: Details of the trade associated with the order
          withdraw:
            type: object
            properties:
              withdrawalId:
                anyOf:
                  - type: string
                    minLength: 12
                    maxLength: 12
                    pattern: ^[A-Z0-9]{12}$
                    examples:
                      - 01CLFXMT67II
                      - 2R7E5Y5KFXP8
                      - 4FWWRE3Y2URM
                  - type: string
                    format: uuid
                description: ID of the withdrawal
              userData:
                oneOf:
                  - type: object
                    properties:
                      userType:
                        type: string
                        enum:
                          - individual
                      firstName:
                        type: string
                        minLength: 1
                        maxLength: 50
                        description: >-
                          First name of the user making the deposit (or
                          representative for business)
                        examples:
                          - John
                          - Alice
                          - Bob
                      lastName:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: >-
                          Last name of the user making the deposit (or
                          representative for business)
                        examples:
                          - Doe
                          - Smith
                          - Johnson
                      userEmail:
                        type: string
                        maxLength: 254
                        format: email
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: Email of the user making the deposit
                        examples:
                          - user@virtuabroker.com
                          - john.doe@example.com
                          - alice@example.com
                      address:
                        type: string
                        maxLength: 150
                        description: Address of the user making the deposit
                        examples:
                          - 123 Main St, Anytown, ES
                          - 456 Elm St, Anytown, ES
                          - 789 Oak St, Anytown, ES
                      taxDocumentType:
                        type: string
                        maxLength: 50
                        description: >-
                          Tax document type of the user making the deposit.
                          Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                          but any string is accepted.
                        examples:
                          - CC
                          - NIT
                          - CE
                          - NIF
                          - Other
                      taxId:
                        type: string
                        maxLength: 30
                        description: Tax ID of the user making the deposit
                        examples:
                          - 123-45-6789
                          - 987-65-4321
                          - 111-22-3333
                      country:
                        type: string
                        enum:
                          - US
                          - CA
                          - GB
                          - DE
                          - FR
                          - AU
                          - JP
                          - KR
                          - SE
                          - 'NO'
                          - DK
                          - FI
                          - NL
                          - BE
                          - CH
                          - AT
                          - NZ
                          - SG
                          - IE
                          - LU
                          - PT
                          - ES
                          - IT
                          - GR
                          - CZ
                          - PL
                          - HU
                          - SK
                          - SI
                          - EE
                          - LT
                          - LV
                          - IS
                          - MT
                          - CY
                          - HR
                          - RO
                          - BG
                          - BR
                          - AR
                          - CL
                          - MX
                          - CO
                          - PE
                          - PA
                          - UY
                          - BO
                          - ZA
                          - NG
                          - KE
                          - GH
                          - TZ
                          - UG
                          - RW
                          - MW
                          - ZM
                          - BW
                          - CD
                          - CI
                          - CM
                          - IL
                          - AE
                          - QA
                          - SA
                          - OM
                          - KW
                          - BH
                          - MY
                          - PH
                          - TH
                          - VN
                          - ID
                          - IN
                          - LK
                          - NP
                          - BD
                          - PK
                          - EG
                          - MA
                          - DZ
                          - TN
                          - JO
                          - LB
                          - TR
                          - KH
                          - MM
                          - LA
                          - EN
                          - BT
                          - VE
                          - TW
                          - HK
                          - CN
                        description: Country code of the user making the deposit
                        examples:
                          - ES
                          - US
                          - GB
                      state:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: State of the user making the deposit
                        examples:
                          - Madrid
                          - New York
                          - London
                      postalCode:
                        type: string
                        minLength: 1
                        maxLength: 30
                        description: Postal code of the user making the deposit
                        examples:
                          - '12345'
                          - '67890'
                          - abcde
                      city:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: City of the user making the deposit
                        examples:
                          - Madrid
                          - New York
                          - London
                      dob:
                        type: string
                        minLength: 1
                        maxLength: 30
                        description: Date of birth of the user making the deposit
                        examples:
                          - '1990-01-01'
                          - '1995-05-15'
                          - '1988-12-31'
                      phoneNumber:
                        type: string
                        maxLength: 30
                        description: Phone number of the user making the deposit
                        examples:
                          - '+447700900123'
                          - '+447700900456'
                          - '+447700900789'
                      kycId:
                        type: string
                        minLength: 1
                        maxLength: 300
                        description: >-
                          KYC ID of the user making the deposit on your platform
                          (if the KYC is done by you, add the url)
                        examples:
                          - kyc-12345
                          - kyc-67890
                          - kyc-abcde
                      activity:
                        type: string
                        description: Activity of the user making the deposit
                        examples:
                          - worker
                          - business
                          - student
                    required:
                      - userType
                      - firstName
                      - userEmail
                      - country
                  - type: object
                    properties:
                      userType:
                        type: string
                        enum:
                          - business
                      businessName:
                        type: string
                        maxLength: 150
                        description: Business name (required when userType is business)
                        examples:
                          - Acme Corp
                          - Tech Solutions Inc
                          - Global Services Ltd
                      firstName:
                        type: string
                        minLength: 1
                        maxLength: 50
                        description: >-
                          First name of the user making the deposit (or
                          representative for business)
                        examples:
                          - John
                          - Alice
                          - Bob
                      userEmail:
                        type: string
                        maxLength: 254
                        format: email
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: Email of the user making the deposit
                        examples:
                          - user@virtuabroker.com
                          - john.doe@example.com
                          - alice@example.com
                      address:
                        type: string
                        maxLength: 150
                        description: Address of the user making the deposit
                        examples:
                          - 123 Main St, Anytown, ES
                          - 456 Elm St, Anytown, ES
                          - 789 Oak St, Anytown, ES
                      taxDocumentType:
                        type: string
                        maxLength: 50
                        description: >-
                          Tax document type of the user making the deposit.
                          Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                          but any string is accepted.
                        examples:
                          - CC
                          - NIT
                          - CE
                          - NIF
                          - Other
                      taxId:
                        type: string
                        maxLength: 30
                        description: Tax ID of the user making the deposit
                        examples:
                          - 123-45-6789
                          - 987-65-4321
                          - 111-22-3333
                      country:
                        type: string
                        enum:
                          - US
                          - CA
                          - GB
                          - DE
                          - FR
                          - AU
                          - JP
                          - KR
                          - SE
                          - 'NO'
                          - DK
                          - FI
                          - NL
                          - BE
                          - CH
                          - AT
                          - NZ
                          - SG
                          - IE
                          - LU
                          - PT
                          - ES
                          - IT
                          - GR
                          - CZ
                          - PL
                          - HU
                          - SK
                          - SI
                          - EE
                          - LT
                          - LV
                          - IS
                          - MT
                          - CY
                          - HR
                          - RO
                          - BG
                          - BR
                          - AR
                          - CL
                          - MX
                          - CO
                          - PE
                          - PA
                          - UY
                          - BO
                          - ZA
                          - NG
                          - KE
                          - GH
                          - TZ
                          - UG
                          - RW
                          - MW
                          - ZM
                          - BW
                          - CD
                          - CI
                          - CM
                          - IL
                          - AE
                          - QA
                          - SA
                          - OM
                          - KW
                          - BH
                          - MY
                          - PH
                          - TH
                          - VN
                          - ID
                          - IN
                          - LK
                          - NP
                          - BD
                          - PK
                          - EG
                          - MA
                          - DZ
                          - TN
                          - JO
                          - LB
                          - TR
                          - KH
                          - MM
                          - LA
                          - EN
                          - BT
                          - VE
                          - TW
                          - HK
                          - CN
                        description: Country code of the user making the deposit
                        examples:
                          - ES
                          - US
                          - GB
                      state:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: State of the user making the deposit
                        examples:
                          - Madrid
                          - New York
                          - London
                      postalCode:
                        type: string
                        minLength: 1
                        maxLength: 30
                        description: Postal code of the user making the deposit
                        examples:
                          - '12345'
                          - '67890'
                          - abcde
                      city:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: City of the user making the deposit
                        examples:
                          - Madrid
                          - New York
                          - London
                      dob:
                        type: string
                        minLength: 1
                        maxLength: 30
                        description: Date of birth of the user making the deposit
                        examples:
                          - '1990-01-01'
                          - '1995-05-15'
                          - '1988-12-31'
                      phoneNumber:
                        type: string
                        maxLength: 30
                        description: Phone number of the user making the deposit
                        examples:
                          - '+447700900123'
                          - '+447700900456'
                          - '+447700900789'
                      kycId:
                        type: string
                        minLength: 1
                        maxLength: 300
                        description: >-
                          KYC ID of the user making the deposit on your platform
                          (if the KYC is done by you, add the url)
                        examples:
                          - kyc-12345
                          - kyc-67890
                          - kyc-abcde
                      activity:
                        type: string
                        description: Activity of the user making the deposit
                        examples:
                          - worker
                          - business
                          - student
                    required:
                      - userType
                      - businessName
                      - firstName
                      - userEmail
                      - country
                description: User data for the withdrawal
              createdAt:
                type: number
                description: Creation time of the withdrawal
                example: 1723027132
              updatedAt:
                type: number
                description: Last update time of the withdrawal
                example: 1723027132
              userEmail:
                type: string
                format: email
                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                description: Email of the user making the request
                example: user@example.com
              amount:
                type: number
                description: >-
                  Amount to be withdrawn. This value is written once the
                  withdrawal has been executed. Meanwhile it will appear 0.
                example: 1000
              currency:
                type: string
                description: Currency of the withdrawal
                example: EUR
              fee:
                type: number
                description: >-
                  Fee for the withdrawal. This value is written once the
                  withdrawal has been executed. Meanwhile it will appear 0.
                example: 10
              feeCurrency:
                type: string
                description: Currency of the fee
                example: EUR
              destinationTransferData:
                oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - BALANCE
                    required:
                      - type
                    description: Balance transfer details
                    title: Balance
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      iban:
                        type: string
                        description: IBAN number
                      bic:
                        type: string
                        description: BIC number (optional)
                      country:
                        type: string
                        description: Country code
                      accountType:
                        type: string
                        enum:
                          - PERSONAL
                          - BUSINESS
                        default: PERSONAL
                        description: Account type (optional)
                      city:
                        type: string
                        description: >-
                          City of the recipient. REQUIRED for SEPA payouts —
                          provide it here or in destinationUserData.city.
                      postalCode:
                        type: string
                        description: >-
                          Postal code of the recipient. REQUIRED for SEPA
                          payouts — provide it here or in
                          destinationUserData.postalCode.
                      address:
                        type: string
                        description: >-
                          Street address (line 1) of the recipient. Forwarded as
                          the payout beneficiary `address.line1` when
                          registering the beneficiary. Stored on the saved
                          transaction method so the user does not have to
                          re-supply it on every withdraw.
                      type:
                        type: string
                        enum:
                          - SEPA
                    required:
                      - destinationName
                      - iban
                      - country
                      - type
                    description: SEPA transfer details
                    title: SEPA
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      accountNumber:
                        type: string
                        description: UK bank account number
                      sortCode:
                        type: string
                        description: UK sort code
                      country:
                        type: string
                        enum:
                          - GB
                        default: GB
                        description: >-
                          ISO 3166 country code of the recipient (GBP transfer
                          is UK-based)
                      accountType:
                        type: string
                        enum:
                          - PERSONAL
                          - BUSINESS
                        default: PERSONAL
                        description: Account type (optional)
                      city:
                        type: string
                        description: >-
                          City of the recipient. REQUIRED for this rail —
                          provide it here or in destinationUserData.city.
                      postalCode:
                        type: string
                        description: >-
                          Postal code of the recipient. REQUIRED for this rail —
                          provide it here or in destinationUserData.postalCode.
                      address:
                        type: string
                        description: >-
                          Street address (line 1) of the recipient. Forwarded as
                          payee address when creating the payee.
                      type:
                        type: string
                        enum:
                          - GBP_BANK_TRANSFER
                    required:
                      - destinationName
                      - accountNumber
                      - sortCode
                      - type
                    description: GBP domestic bank transfer details
                    title: BankDepositGB
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      accountNumber:
                        type: string
                        description: US bank account number
                      routingNumber:
                        type: string
                        description: US ABA routing number
                      country:
                        type: string
                        enum:
                          - US
                        default: US
                        description: >-
                          ISO 3166 country code of the recipient (ACH is
                          US-domestic)
                      accountType:
                        type: string
                        enum:
                          - PERSONAL
                          - BUSINESS
                        default: PERSONAL
                        description: Account type (optional)
                      bankAccountType:
                        type: string
                        enum:
                          - CHECKING
                          - SAVINGS
                        default: CHECKING
                        description: >-
                          Kind of bank account the payout lands in. Defaults to
                          CHECKING when omitted.
                      city:
                        type: string
                        description: >-
                          City of the recipient. REQUIRED for this rail —
                          provide it here or in destinationUserData.city.
                      postalCode:
                        type: string
                        description: >-
                          Postal code of the recipient. REQUIRED for this rail —
                          provide it here or in destinationUserData.postalCode.
                      state:
                        type: string
                        pattern: ^[A-Z]{2}$
                        description: >-
                          Two-letter US state code of the recipient (e.g. NY).
                          REQUIRED for this rail.
                      address:
                        type: string
                        description: >-
                          Street address (line 1) of the recipient. Forwarded as
                          payee address when creating the payee.
                      type:
                        type: string
                        enum:
                          - ACH_US
                    required:
                      - destinationName
                      - accountNumber
                      - routingNumber
                      - state
                      - type
                    description: USD ACH transfer details
                    title: AchUS
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - linkedBankAccount
                      accountLinkId:
                        type: string
                        pattern: ^alnk_[0-9a-f]{24}$
                        description: >-
                          Identifier of one of the account holder own linked
                          bank accounts
                        examples:
                          - alnk_0123456789abcdef01234567
                    required:
                      - type
                      - accountLinkId
                    description: >-
                      A bank account the account holder linked beforehand. Pays
                      out only to the holder of the order; never to a third
                      party. Not available yet.
                    title: LinkedBankAccount
                    deprecated: true
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - ETH
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: ETH destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: ETH
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - MATIC
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: MATIC destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: MATIC
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - SOL
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: SOL destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: SOL
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - TRON
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: TRON destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: TRON
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - CELO
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: CELO destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: CELO
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - BTC
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: BTC destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: BTC
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - SOLANA
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: SOLANA destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: SOLANA
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - XRP
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: XRP destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: XRP
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - CARDANO
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: CARDANO destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: CARDANO
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - BSC
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: BSC destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: BSC
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - ARBITRUM
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: ARBITRUM destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: ARBITRUM
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - OPTIMISM
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: OPTIMISM destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: OPTIMISM
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - AVALANCHE
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: AVALANCHE destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: AVALANCHE
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - BASE
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: BASE destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: BASE
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id from GET
                          /v1/currencies/COP/networks. Not read by the payout;
                          retained for the network selector and for stored
                          records.
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_COL
                      destinationBankCode:
                        type: string
                        description: >-
                          Recipient bank code — one of the 4-digit codes
                          published by GET
                          /v1/currencies/COP/destination-schema?method=bankDepositCOL
                          (the code, not the name). Required when creating or
                          updating a destination.
                      destinationBankAccountType:
                        type: string
                        description: >-
                          Bank account type — CORRIENTE or AHORRO. Required when
                          creating or updating a destination.
                      destinationTaxId:
                        type: string
                        description: >-
                          Recipient ID document number. Required when creating
                          or updating a destination.
                      destinationDocumentType:
                        type: string
                        description: >-
                          Recipient ID document type — CC, CE, NIT, TI or PP.
                          Required when creating or updating a destination.
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Colombian bank deposit details. Equivalent to ACH_COP —
                      same payout rail, same required fields, same bank roster;
                      ACH_COP is recommended for new integrations. Note that
                      BANK_DEPOSIT_COL is also the name of a COP collection
                      rail.
                    title: Bank Deposit COL
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      brebKey:
                        type: string
                        minLength: 1
                        description: >-
                          Bre-B key (llave) that identifies the recipient
                          account
                      email:
                        type: string
                        description: Recipient email (optional contact for the Bre-B rail)
                      destinationPhoneNumber:
                        type: string
                        description: >-
                          Recipient phone number (optional contact for the Bre-B
                          rail)
                      type:
                        type: string
                        enum:
                          - BRE_B_COP
                    required:
                      - destinationName
                      - brebKey
                      - type
                    description: Colombian Bre-B payout details
                    title: Bre-B COP
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        pattern: ^\d{4}$
                        description: >-
                          Recipient bank code — one of the 4-digit codes
                          published by GET
                          /v1/currencies/COP/destination-schema?method=achCOP
                          (the code, not the name)
                      destinationBankAccountNumber:
                        type: string
                        minLength: 1
                        description: Recipient bank account number
                      destinationBankAccountType:
                        type: string
                        minLength: 1
                        description: Bank account type (e.g. AHORROS / CORRIENTE)
                      destinationDocumentType:
                        type: string
                        minLength: 1
                        description: Recipient ID document type (e.g. CC / CE / NIT)
                      destinationTaxId:
                        type: string
                        minLength: 1
                        description: Recipient ID document number
                      type:
                        type: string
                        enum:
                          - ACH_COP
                    required:
                      - destinationName
                      - destinationBankCode
                      - destinationBankAccountNumber
                      - destinationBankAccountType
                      - destinationDocumentType
                      - destinationTaxId
                      - type
                    description: Colombian ACH payout details
                    title: ACH COP
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (unused for TWD — no network
                          discovery)
                      destinationBankName:
                        type: string
                        minLength: 2
                        description: Bank name (required — TWD payouts run over SWIFT)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_TW
                      destinationBankBranch:
                        type: string
                        minLength: 2
                        description: Bank branch (required — TWD payouts run over SWIFT)
                      bic:
                        type: string
                        pattern: >-
                          ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                        description: SWIFT BIC code (required for TWD payouts)
                      destinationBankAccountType:
                        type: string
                        description: Type of bank account (legacy, optional)
                      destinationTaxId:
                        type: string
                        description: Tax ID of the recipient (legacy, optional)
                      destinationDocumentType:
                        type: string
                        description: Document type of the recipient (legacy, optional)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationBankName
                      - type
                      - destinationBankBranch
                      - bic
                    description: Taiwan bank deposit details (SWIFT payout)
                    title: Bank Deposit TW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        description: Bank code
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationBankBranch:
                        type: string
                        description: Bank branch
                      destinationTaxId:
                        type: string
                        description: Tax ID of the recipient
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_BR
                    required:
                      - destinationName
                      - destinationBankCode
                      - destinationBankAccount
                      - destinationBankBranch
                      - destinationTaxId
                      - type
                    description: Brazilian bank deposit details
                    title: Bank Deposit BR
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPixCode:
                        type: string
                        description: PIX code
                      destinationTaxId:
                        type: string
                        description: Tax ID of the recipient
                      type:
                        type: string
                        enum:
                          - PIX_BR
                    required:
                      - destinationName
                      - destinationPixCode
                      - destinationTaxId
                      - type
                    description: Brazilian PIX details
                    title: PIX BR
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccountNumber:
                        type: string
                        description: Bank account number
                      destinationBankName:
                        type: string
                        description: Name of the bank
                      destinationTaxId:
                        type: string
                        pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                        description: Tax ID of the recipient
                      destinationBankAccountType:
                        type: string
                        description: Type of bank account
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_VEN
                    required:
                      - destinationName
                      - destinationBankAccountNumber
                      - destinationBankName
                      - destinationTaxId
                      - destinationBankAccountType
                      - type
                    description: Venezuelan bank deposit details
                    title: Bank Deposit VEN
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        description: Bank code
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationTaxId:
                        type: string
                        pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                        description: Tax ID of the recipient
                      destinationBankAccountType:
                        type: string
                        description: Type of bank account
                      type:
                        type: string
                        enum:
                          - PHONE_DEPOSIT_VEN
                    required:
                      - destinationName
                      - destinationBankCode
                      - destinationPhoneNumber
                      - destinationTaxId
                      - destinationBankAccountType
                      - type
                    description: Venezuelan phone deposit details
                    title: Phone Deposit VEN
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_IN
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      India bank deposit details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit IN
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - IMPS
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      India IMPS details. Deprecated — no active payout corridor
                      for this method; orders using it are rejected. Retained
                      for backward compatibility with stored destinations.
                    title: IMPS
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - THAI_QR
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Thailand Thai QR details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Thai QR
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - VIET_QR
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Vietnam Viet QR details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Viet QR
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - GCASH
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Philippines GCash details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: GCash
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationTaxId:
                        type: string
                        description: Tax ID
                      type:
                        type: string
                        enum:
                          - MOBILE_PAYMENT_IN
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - destinationTaxId
                      - type
                    description: >-
                      India mobile payment details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Mobile Payment IN
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationBankCode:
                        type: string
                        description: Bank code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_VN
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationBankCode
                      - type
                    description: >-
                      Vietnam bank deposit details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit VN
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      bic:
                        type: string
                        description: >-
                          SWIFT BIC code (required for HKD payouts via the HK
                          bank corridor)
                      destinationBankName:
                        type: string
                        description: Bank name
                      destinationAddress:
                        type: string
                        description: Address line 1 of the recipient
                      destinationCity:
                        type: string
                        description: Recipient city (defaults to Hong Kong)
                      accountHolderName:
                        type: string
                        description: Bank account holder name if different from payee
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_HK
                    required:
                      - destinationName
                      - destinationBankAccount
                      - bic
                      - destinationBankName
                      - destinationAddress
                      - type
                    description: Hong Kong bank deposit details (HKD bank corridor)
                    title: Bank Deposit HK
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationBankCode:
                        type: string
                        pattern: ^\d+$
                        description: >-
                          CNAPS / bank institution code (numeric, variable
                          length)
                      destinationBankName:
                        type: string
                        description: Bank name
                      destinationAddress:
                        type: string
                        description: Address line 1 of the recipient
                      destinationCity:
                        type: string
                        description: Recipient city
                      destinationState:
                        type: string
                        minLength: 1
                        description: >-
                          Province / state of the recipient (required for CN —
                          the beneficiary is rejected in compliance review
                          without it)
                      destinationPostcode:
                        type: string
                        minLength: 1
                        description: >-
                          Postal code of the recipient (required for CN — the
                          beneficiary is rejected in compliance review without
                          it)
                      destinationPhone:
                        type: string
                        description: >-
                          Phone number of the recipient, without country prefix
                          (optional; defaulted for CN when omitted)
                      destinationTaxId:
                        type: string
                        description: >-
                          Unified Social Credit Code (USCC, GB 32100-2015) of
                          the recipient company — 18 characters including the
                          check digit; whitespace is removed and letters are
                          normalized to uppercase (optional)
                      accountHolderName:
                        type: string
                        description: Bank account holder name if different from payee
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_CN
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationBankCode
                      - destinationBankName
                      - destinationAddress
                      - destinationCity
                      - destinationState
                      - destinationPostcode
                      - type
                    description: China mainland bank deposit details (CNY bank corridor)
                    title: Bank Deposit CN
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id from GET /v1/currencies/ARS/networks
                          (the network selector, optional)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_AR
                      destinationCBU:
                        type: string
                        description: CBU — 22-digit bank account key (legacy, optional)
                      destinationCVU:
                        type: string
                        description: CVU — 22-digit virtual account key (legacy, optional)
                      destinationAlias:
                        type: string
                        description: Account alias (legacy, optional)
                      destinationTaxId:
                        type: string
                        description: >-
                          CUIT/CUIL tax ID of the recipient (required when
                          creating ARS bank destinations): exactly 11 digits
                          with no hyphens, spaces or other characters, and a
                          valid check digit (e.g. 20000000001)
                      destinationDocumentType:
                        type: string
                        description: Document type of the recipient (legacy, optional)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Argentinian bank deposit details
                    title: Bank Deposit AR
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        minLength: 1
                        description: >-
                          Recipient bank name (required for Chilean bank
                          payouts)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_CL
                      destinationBankAccountType:
                        type: string
                        minLength: 1
                        description: >-
                          Account type — corriente or ahorro (required for
                          Chilean bank payouts)
                      destinationTaxId:
                        type: string
                        minLength: 1
                        description: >-
                          RUT tax ID of the recipient (required for Chilean bank
                          payouts)
                      destinationDocumentType:
                        type: string
                        description: Document type of the recipient (legacy, optional)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationBankName
                      - type
                      - destinationBankAccountType
                      - destinationTaxId
                    description: Chilean bank deposit details
                    title: Bank Deposit CL
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        minLength: 2
                        maxLength: 30
                        description: Recipient name (required, 2–30 characters)
                      destinationBankAccount:
                        type: string
                        minLength: 1
                        maxLength: 11
                        description: >-
                          Bank account number (max 11 digits for Bolivian
                          accounts)
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (unused for BOB — no network
                          discovery)
                      destinationBankName:
                        type: string
                        maxLength: 20
                        description: Bank name (optional, max 20 characters)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_BO
                      destinationTaxId:
                        type: string
                        minLength: 1
                        maxLength: 15
                        description: >-
                          NIT tax ID of the recipient (required for Bolivian
                          payouts)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                      - destinationTaxId
                    description: Bolivian bank deposit details
                    title: Bank Deposit BO
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id from GET /v1/currencies/PEN/networks
                          (the network selector)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_PE
                      destinationCCI:
                        type: string
                        description: >-
                          CCI — 20-digit interbank account code (legacy,
                          optional)
                      destinationBankAccountType:
                        type: string
                        description: Account type (corriente/ahorro) (legacy, optional)
                      destinationTaxId:
                        type: string
                        description: >-
                          DNI/RUC document ID of the recipient (legacy,
                          optional)
                      destinationDocumentType:
                        type: string
                        description: Document type of the recipient (legacy, optional)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationNetworkId
                      - type
                    description: >-
                      Peruvian bank deposit details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit PE
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        pattern: ^\d{3}$
                        description: >-
                          Recipient bank code (the 3-digit code the rail
                          expects, not the name)
                      destinationBankAccountNumber:
                        type: string
                        minLength: 1
                        maxLength: 20
                        description: Recipient bank account number (max 20)
                      destinationBankAccountType:
                        type: string
                        enum:
                          - CORRIENTE
                          - AHORROS
                          - PHONE
                        description: Bank account type
                      destinationCCI:
                        type: string
                        pattern: ^\d{1,20}$
                        description: >-
                          CCI — Peruvian interbank code (required, digits only,
                          max 20)
                      destinationDocumentType:
                        type: string
                        enum:
                          - CC
                          - CE
                          - RUC
                          - PAS
                          - PAR
                          - LMI
                          - OTHER
                        description: Recipient identification type
                      destinationTaxId:
                        type: string
                        minLength: 1
                        maxLength: 50
                        description: Recipient identification number (max 50)
                      email:
                        type: string
                        pattern: ^.+@.+\..+$
                        description: Recipient email (required for PEN payouts)
                      destinationPhoneNumber:
                        type: string
                        pattern: ^\d{1,9}$
                        description: Recipient phone number (required, max 9 digits)
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_PEN
                    required:
                      - destinationName
                      - destinationBankCode
                      - destinationBankAccountNumber
                      - destinationBankAccountType
                      - destinationCCI
                      - destinationDocumentType
                      - destinationTaxId
                      - email
                      - destinationPhoneNumber
                      - type
                    description: Peruvian bank deposit details (bank-code payout corridor).
                    title: Bank Deposit PEN
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_NG
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Nigeria bank deposit details
                    title: Bank Deposit NG
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_KE
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Kenya bank deposit details
                    title: Bank Deposit KE
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_GH
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Ghana bank deposit details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit GH
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_ZA
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: South Africa bank deposit details
                    title: Bank Deposit ZA
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_TZ
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Tanzania bank deposit details
                    title: Bank Deposit TZ
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_UG
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Uganda bank deposit details
                    title: Bank Deposit UG
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_RW
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Rwanda bank deposit details
                    title: Bank Deposit RW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_MW
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Malawi bank deposit details
                    title: Bank Deposit MW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_ZM
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Zambia bank deposit details
                    title: Bank Deposit ZM
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_BW
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Botswana bank deposit details
                    title: Bank Deposit BW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_CD
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      DR Congo bank deposit details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit CD
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_XOF
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: West African CFA bank deposit details
                    title: Bank Deposit XOF
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_XAF
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Central African CFA bank deposit details
                    title: Bank Deposit XAF
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_NG
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Nigeria mobile money details
                    title: Mobile Money NG
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_KE
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Kenya mobile money details
                    title: Mobile Money KE
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_GH
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: >-
                      Ghana mobile money details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Mobile Money GH
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_ZA
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: South Africa mobile money details
                    title: Mobile Money ZA
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_TZ
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Tanzania mobile money details
                    title: Mobile Money TZ
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_UG
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Uganda mobile money details
                    title: Mobile Money UG
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_RW
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Rwanda mobile money details
                    title: Mobile Money RW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_MW
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Malawi mobile money details
                    title: Mobile Money MW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_ZM
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Zambia mobile money details
                    title: Mobile Money ZM
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_BW
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Botswana mobile money details
                    title: Mobile Money BW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_CD
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: >-
                      DR Congo mobile money details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Mobile Money CD
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_XOF
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: West African CFA mobile money details
                    title: Mobile Money XOF
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_XAF
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Central African CFA mobile money details
                    title: Mobile Money XAF
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        description: Bank code
                      destinationBankAccountNumber:
                        type: string
                        description: Bank account number (18-digit CLABE)
                      numericReference:
                        type: string
                        description: Numeric reference
                      notesReference:
                        type: string
                        description: Notes reference
                      destinationClabe:
                        type: string
                        description: >-
                          CLABE — legacy alias, prefer
                          destinationBankAccountNumber
                      destinationTaxId:
                        type: string
                        description: >-
                          Recipient tax id (RFC) — required by some MX
                          bank-deposit rails ("Número de Identificación");
                          optional otherwise
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_MX
                    required:
                      - destinationName
                      - destinationBankAccountNumber
                      - type
                    description: Mexican bank deposit details
                    title: Bank Deposit MX
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPseNumber:
                        type: string
                        description: PSE number
                      type:
                        type: string
                        enum:
                          - PSE
                    required:
                      - destinationName
                      - destinationPseNumber
                      - type
                    description: >-
                      PSE transfer details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: PSE
                    deprecated: true
                description: >-
                  The details required for the end user destination transfer
                  method.
              status:
                anyOf:
                  - type: string
                    enum:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                    description: >-
                      Common status values that are shared across all operation
                      types
                    examples:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                  - type: string
                    enum:
                      - PendingCancel
                      - PendingWithdrawal
                      - PendingVerification
                      - Pending2FA
                      - Compliance
                      - Accepted
                      - Approved
                      - Rejected
                      - Review
                description: Status of the withdrawal
                examples:
                  - Pending
                  - Pending2FA
                  - Compliance
                  - Accepted
                  - Approved
                  - Success
                  - Failed
                  - Review
                  - Rejected
              withdrawalInfo:
                oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - BALANCE
                    required:
                      - type
                    description: Balance transfer details
                    title: Balance
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      iban:
                        type: string
                        description: IBAN number
                      bic:
                        type: string
                        description: BIC number (optional)
                      country:
                        type: string
                        description: Country code
                      accountType:
                        type: string
                        enum:
                          - PERSONAL
                          - BUSINESS
                        default: PERSONAL
                        description: Account type (optional)
                      city:
                        type: string
                        description: >-
                          City of the recipient. REQUIRED for SEPA payouts —
                          provide it here or in destinationUserData.city.
                      postalCode:
                        type: string
                        description: >-
                          Postal code of the recipient. REQUIRED for SEPA
                          payouts — provide it here or in
                          destinationUserData.postalCode.
                      address:
                        type: string
                        description: >-
                          Street address (line 1) of the recipient. Forwarded as
                          the payout beneficiary `address.line1` when
                          registering the beneficiary. Stored on the saved
                          transaction method so the user does not have to
                          re-supply it on every withdraw.
                      type:
                        type: string
                        enum:
                          - SEPA
                    required:
                      - destinationName
                      - iban
                      - country
                      - type
                    description: SEPA transfer details
                    title: SEPA
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      accountNumber:
                        type: string
                        description: UK bank account number
                      sortCode:
                        type: string
                        description: UK sort code
                      country:
                        type: string
                        enum:
                          - GB
                        default: GB
                        description: >-
                          ISO 3166 country code of the recipient (GBP transfer
                          is UK-based)
                      accountType:
                        type: string
                        enum:
                          - PERSONAL
                          - BUSINESS
                        default: PERSONAL
                        description: Account type (optional)
                      city:
                        type: string
                        description: >-
                          City of the recipient. REQUIRED for this rail —
                          provide it here or in destinationUserData.city.
                      postalCode:
                        type: string
                        description: >-
                          Postal code of the recipient. REQUIRED for this rail —
                          provide it here or in destinationUserData.postalCode.
                      address:
                        type: string
                        description: >-
                          Street address (line 1) of the recipient. Forwarded as
                          payee address when creating the payee.
                      type:
                        type: string
                        enum:
                          - GBP_BANK_TRANSFER
                    required:
                      - destinationName
                      - accountNumber
                      - sortCode
                      - type
                    description: GBP domestic bank transfer details
                    title: BankDepositGB
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      accountNumber:
                        type: string
                        description: US bank account number
                      routingNumber:
                        type: string
                        description: US ABA routing number
                      country:
                        type: string
                        enum:
                          - US
                        default: US
                        description: >-
                          ISO 3166 country code of the recipient (ACH is
                          US-domestic)
                      accountType:
                        type: string
                        enum:
                          - PERSONAL
                          - BUSINESS
                        default: PERSONAL
                        description: Account type (optional)
                      bankAccountType:
                        type: string
                        enum:
                          - CHECKING
                          - SAVINGS
                        default: CHECKING
                        description: >-
                          Kind of bank account the payout lands in. Defaults to
                          CHECKING when omitted.
                      city:
                        type: string
                        description: >-
                          City of the recipient. REQUIRED for this rail —
                          provide it here or in destinationUserData.city.
                      postalCode:
                        type: string
                        description: >-
                          Postal code of the recipient. REQUIRED for this rail —
                          provide it here or in destinationUserData.postalCode.
                      state:
                        type: string
                        pattern: ^[A-Z]{2}$
                        description: >-
                          Two-letter US state code of the recipient (e.g. NY).
                          REQUIRED for this rail.
                      address:
                        type: string
                        description: >-
                          Street address (line 1) of the recipient. Forwarded as
                          payee address when creating the payee.
                      type:
                        type: string
                        enum:
                          - ACH_US
                    required:
                      - destinationName
                      - accountNumber
                      - routingNumber
                      - state
                      - type
                    description: USD ACH transfer details
                    title: AchUS
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - linkedBankAccount
                      accountLinkId:
                        type: string
                        pattern: ^alnk_[0-9a-f]{24}$
                        description: >-
                          Identifier of one of the account holder own linked
                          bank accounts
                        examples:
                          - alnk_0123456789abcdef01234567
                    required:
                      - type
                      - accountLinkId
                    description: >-
                      A bank account the account holder linked beforehand. Pays
                      out only to the holder of the order; never to a third
                      party. Not available yet.
                    title: LinkedBankAccount
                    deprecated: true
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - ETH
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: ETH destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: ETH
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - MATIC
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: MATIC destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: MATIC
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - SOL
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: SOL destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: SOL
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - TRON
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: TRON destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: TRON
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - CELO
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: CELO destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: CELO
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - BTC
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: BTC destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: BTC
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - SOLANA
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: SOLANA destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: SOLANA
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - XRP
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: XRP destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: XRP
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - CARDANO
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: CARDANO destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: \S
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: \S
                    title: CARDANO
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - BSC
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: BSC destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: BSC
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - ARBITRUM
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: ARBITRUM destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: ARBITRUM
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - OPTIMISM
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: OPTIMISM destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: OPTIMISM
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - AVALANCHE
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: AVALANCHE destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: AVALANCHE
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - BASE
                      address:
                        type: string
                        description: >-
                          Destination wallet address. Send this rather than the
                          legacy `destinationWalletAddress` — at least one of
                          the two is required, and a payload carrying neither is
                          rejected. On EVM chains the address is "0x" followed
                          by 40 hex characters.
                      memo:
                        type: string
                        description: Memo for the wallet, when the chain uses one
                      txId:
                        type: string
                        description: Blockchain transaction ID
                      txUrlScan:
                        type: string
                        description: Blockchain explorer URL for the transaction
                      destinationWalletAddress:
                        type: string
                        description: >-
                          Destination wallet address (legacy shape). Still
                          accepted, but send `address` instead — at least one of
                          the two is required and supplying neither is rejected.
                      destinationWalletMemo:
                        type: string
                        description: >-
                          Memo for the wallet (legacy shape) — send `memo`
                          instead
                      destinationNetwork:
                        type: string
                        description: >-
                          Network name, when the corridor addresses the chain by
                          name rather than by `type`
                      destinationNetworkId:
                        type: string
                        description: >-
                          Network id from GET
                          /v1/currencies/{currency}/networks, for corridors
                          where `supportsNetworkDiscovery` is true
                      destinationCurrencySymbol:
                        type: string
                        description: >-
                          Asset symbol on the chain. `type` names the chain, so
                          this is what separates the native coin from tokens on
                          it — ETH from USDC-on-Ethereum.
                    required:
                      - type
                    description: BASE destination details
                    anyOf:
                      - required:
                          - address
                        properties:
                          address:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      - required:
                          - destinationWalletAddress
                        properties:
                          destinationWalletAddress:
                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    title: BASE
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id from GET
                          /v1/currencies/COP/networks. Not read by the payout;
                          retained for the network selector and for stored
                          records.
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_COL
                      destinationBankCode:
                        type: string
                        description: >-
                          Recipient bank code — one of the 4-digit codes
                          published by GET
                          /v1/currencies/COP/destination-schema?method=bankDepositCOL
                          (the code, not the name). Required when creating or
                          updating a destination.
                      destinationBankAccountType:
                        type: string
                        description: >-
                          Bank account type — CORRIENTE or AHORRO. Required when
                          creating or updating a destination.
                      destinationTaxId:
                        type: string
                        description: >-
                          Recipient ID document number. Required when creating
                          or updating a destination.
                      destinationDocumentType:
                        type: string
                        description: >-
                          Recipient ID document type — CC, CE, NIT, TI or PP.
                          Required when creating or updating a destination.
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Colombian bank deposit details. Equivalent to ACH_COP —
                      same payout rail, same required fields, same bank roster;
                      ACH_COP is recommended for new integrations. Note that
                      BANK_DEPOSIT_COL is also the name of a COP collection
                      rail.
                    title: Bank Deposit COL
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      brebKey:
                        type: string
                        minLength: 1
                        description: >-
                          Bre-B key (llave) that identifies the recipient
                          account
                      email:
                        type: string
                        description: Recipient email (optional contact for the Bre-B rail)
                      destinationPhoneNumber:
                        type: string
                        description: >-
                          Recipient phone number (optional contact for the Bre-B
                          rail)
                      type:
                        type: string
                        enum:
                          - BRE_B_COP
                    required:
                      - destinationName
                      - brebKey
                      - type
                    description: Colombian Bre-B payout details
                    title: Bre-B COP
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        pattern: ^\d{4}$
                        description: >-
                          Recipient bank code — one of the 4-digit codes
                          published by GET
                          /v1/currencies/COP/destination-schema?method=achCOP
                          (the code, not the name)
                      destinationBankAccountNumber:
                        type: string
                        minLength: 1
                        description: Recipient bank account number
                      destinationBankAccountType:
                        type: string
                        minLength: 1
                        description: Bank account type (e.g. AHORROS / CORRIENTE)
                      destinationDocumentType:
                        type: string
                        minLength: 1
                        description: Recipient ID document type (e.g. CC / CE / NIT)
                      destinationTaxId:
                        type: string
                        minLength: 1
                        description: Recipient ID document number
                      type:
                        type: string
                        enum:
                          - ACH_COP
                    required:
                      - destinationName
                      - destinationBankCode
                      - destinationBankAccountNumber
                      - destinationBankAccountType
                      - destinationDocumentType
                      - destinationTaxId
                      - type
                    description: Colombian ACH payout details
                    title: ACH COP
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (unused for TWD — no network
                          discovery)
                      destinationBankName:
                        type: string
                        minLength: 2
                        description: Bank name (required — TWD payouts run over SWIFT)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_TW
                      destinationBankBranch:
                        type: string
                        minLength: 2
                        description: Bank branch (required — TWD payouts run over SWIFT)
                      bic:
                        type: string
                        pattern: >-
                          ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                        description: SWIFT BIC code (required for TWD payouts)
                      destinationBankAccountType:
                        type: string
                        description: Type of bank account (legacy, optional)
                      destinationTaxId:
                        type: string
                        description: Tax ID of the recipient (legacy, optional)
                      destinationDocumentType:
                        type: string
                        description: Document type of the recipient (legacy, optional)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationBankName
                      - type
                      - destinationBankBranch
                      - bic
                    description: Taiwan bank deposit details (SWIFT payout)
                    title: Bank Deposit TW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        description: Bank code
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationBankBranch:
                        type: string
                        description: Bank branch
                      destinationTaxId:
                        type: string
                        description: Tax ID of the recipient
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_BR
                    required:
                      - destinationName
                      - destinationBankCode
                      - destinationBankAccount
                      - destinationBankBranch
                      - destinationTaxId
                      - type
                    description: Brazilian bank deposit details
                    title: Bank Deposit BR
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPixCode:
                        type: string
                        description: PIX code
                      destinationTaxId:
                        type: string
                        description: Tax ID of the recipient
                      type:
                        type: string
                        enum:
                          - PIX_BR
                    required:
                      - destinationName
                      - destinationPixCode
                      - destinationTaxId
                      - type
                    description: Brazilian PIX details
                    title: PIX BR
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccountNumber:
                        type: string
                        description: Bank account number
                      destinationBankName:
                        type: string
                        description: Name of the bank
                      destinationTaxId:
                        type: string
                        pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                        description: Tax ID of the recipient
                      destinationBankAccountType:
                        type: string
                        description: Type of bank account
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_VEN
                    required:
                      - destinationName
                      - destinationBankAccountNumber
                      - destinationBankName
                      - destinationTaxId
                      - destinationBankAccountType
                      - type
                    description: Venezuelan bank deposit details
                    title: Bank Deposit VEN
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        description: Bank code
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationTaxId:
                        type: string
                        pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                        description: Tax ID of the recipient
                      destinationBankAccountType:
                        type: string
                        description: Type of bank account
                      type:
                        type: string
                        enum:
                          - PHONE_DEPOSIT_VEN
                    required:
                      - destinationName
                      - destinationBankCode
                      - destinationPhoneNumber
                      - destinationTaxId
                      - destinationBankAccountType
                      - type
                    description: Venezuelan phone deposit details
                    title: Phone Deposit VEN
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_IN
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      India bank deposit details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit IN
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - IMPS
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      India IMPS details. Deprecated — no active payout corridor
                      for this method; orders using it are rejected. Retained
                      for backward compatibility with stored destinations.
                    title: IMPS
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - THAI_QR
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Thailand Thai QR details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Thai QR
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - VIET_QR
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Vietnam Viet QR details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Viet QR
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationIFSC:
                        type: string
                        description: IFSC code
                      type:
                        type: string
                        enum:
                          - GCASH
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Philippines GCash details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: GCash
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationTaxId:
                        type: string
                        description: Tax ID
                      type:
                        type: string
                        enum:
                          - MOBILE_PAYMENT_IN
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - destinationTaxId
                      - type
                    description: >-
                      India mobile payment details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Mobile Payment IN
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationBankCode:
                        type: string
                        description: Bank code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_VN
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationBankCode
                      - type
                    description: >-
                      Vietnam bank deposit details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit VN
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      bic:
                        type: string
                        description: >-
                          SWIFT BIC code (required for HKD payouts via the HK
                          bank corridor)
                      destinationBankName:
                        type: string
                        description: Bank name
                      destinationAddress:
                        type: string
                        description: Address line 1 of the recipient
                      destinationCity:
                        type: string
                        description: Recipient city (defaults to Hong Kong)
                      accountHolderName:
                        type: string
                        description: Bank account holder name if different from payee
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_HK
                    required:
                      - destinationName
                      - destinationBankAccount
                      - bic
                      - destinationBankName
                      - destinationAddress
                      - type
                    description: Hong Kong bank deposit details (HKD bank corridor)
                    title: Bank Deposit HK
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationBankCode:
                        type: string
                        pattern: ^\d+$
                        description: >-
                          CNAPS / bank institution code (numeric, variable
                          length)
                      destinationBankName:
                        type: string
                        description: Bank name
                      destinationAddress:
                        type: string
                        description: Address line 1 of the recipient
                      destinationCity:
                        type: string
                        description: Recipient city
                      destinationState:
                        type: string
                        minLength: 1
                        description: >-
                          Province / state of the recipient (required for CN —
                          the beneficiary is rejected in compliance review
                          without it)
                      destinationPostcode:
                        type: string
                        minLength: 1
                        description: >-
                          Postal code of the recipient (required for CN — the
                          beneficiary is rejected in compliance review without
                          it)
                      destinationPhone:
                        type: string
                        description: >-
                          Phone number of the recipient, without country prefix
                          (optional; defaulted for CN when omitted)
                      destinationTaxId:
                        type: string
                        description: >-
                          Unified Social Credit Code (USCC, GB 32100-2015) of
                          the recipient company — 18 characters including the
                          check digit; whitespace is removed and letters are
                          normalized to uppercase (optional)
                      accountHolderName:
                        type: string
                        description: Bank account holder name if different from payee
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_CN
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationBankCode
                      - destinationBankName
                      - destinationAddress
                      - destinationCity
                      - destinationState
                      - destinationPostcode
                      - type
                    description: China mainland bank deposit details (CNY bank corridor)
                    title: Bank Deposit CN
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id from GET /v1/currencies/ARS/networks
                          (the network selector, optional)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_AR
                      destinationCBU:
                        type: string
                        description: CBU — 22-digit bank account key (legacy, optional)
                      destinationCVU:
                        type: string
                        description: CVU — 22-digit virtual account key (legacy, optional)
                      destinationAlias:
                        type: string
                        description: Account alias (legacy, optional)
                      destinationTaxId:
                        type: string
                        description: >-
                          CUIT/CUIL tax ID of the recipient (required when
                          creating ARS bank destinations): exactly 11 digits
                          with no hyphens, spaces or other characters, and a
                          valid check digit (e.g. 20000000001)
                      destinationDocumentType:
                        type: string
                        description: Document type of the recipient (legacy, optional)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Argentinian bank deposit details
                    title: Bank Deposit AR
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        minLength: 1
                        description: >-
                          Recipient bank name (required for Chilean bank
                          payouts)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_CL
                      destinationBankAccountType:
                        type: string
                        minLength: 1
                        description: >-
                          Account type — corriente or ahorro (required for
                          Chilean bank payouts)
                      destinationTaxId:
                        type: string
                        minLength: 1
                        description: >-
                          RUT tax ID of the recipient (required for Chilean bank
                          payouts)
                      destinationDocumentType:
                        type: string
                        description: Document type of the recipient (legacy, optional)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationBankName
                      - type
                      - destinationBankAccountType
                      - destinationTaxId
                    description: Chilean bank deposit details
                    title: Bank Deposit CL
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        minLength: 2
                        maxLength: 30
                        description: Recipient name (required, 2–30 characters)
                      destinationBankAccount:
                        type: string
                        minLength: 1
                        maxLength: 11
                        description: >-
                          Bank account number (max 11 digits for Bolivian
                          accounts)
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (unused for BOB — no network
                          discovery)
                      destinationBankName:
                        type: string
                        maxLength: 20
                        description: Bank name (optional, max 20 characters)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_BO
                      destinationTaxId:
                        type: string
                        minLength: 1
                        maxLength: 15
                        description: >-
                          NIT tax ID of the recipient (required for Bolivian
                          payouts)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                      - destinationTaxId
                    description: Bolivian bank deposit details
                    title: Bank Deposit BO
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id from GET /v1/currencies/PEN/networks
                          (the network selector)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_PE
                      destinationCCI:
                        type: string
                        description: >-
                          CCI — 20-digit interbank account code (legacy,
                          optional)
                      destinationBankAccountType:
                        type: string
                        description: Account type (corriente/ahorro) (legacy, optional)
                      destinationTaxId:
                        type: string
                        description: >-
                          DNI/RUC document ID of the recipient (legacy,
                          optional)
                      destinationDocumentType:
                        type: string
                        description: Document type of the recipient (legacy, optional)
                    required:
                      - destinationName
                      - destinationBankAccount
                      - destinationNetworkId
                      - type
                    description: >-
                      Peruvian bank deposit details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit PE
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        pattern: ^\d{3}$
                        description: >-
                          Recipient bank code (the 3-digit code the rail
                          expects, not the name)
                      destinationBankAccountNumber:
                        type: string
                        minLength: 1
                        maxLength: 20
                        description: Recipient bank account number (max 20)
                      destinationBankAccountType:
                        type: string
                        enum:
                          - CORRIENTE
                          - AHORROS
                          - PHONE
                        description: Bank account type
                      destinationCCI:
                        type: string
                        pattern: ^\d{1,20}$
                        description: >-
                          CCI — Peruvian interbank code (required, digits only,
                          max 20)
                      destinationDocumentType:
                        type: string
                        enum:
                          - CC
                          - CE
                          - RUC
                          - PAS
                          - PAR
                          - LMI
                          - OTHER
                        description: Recipient identification type
                      destinationTaxId:
                        type: string
                        minLength: 1
                        maxLength: 50
                        description: Recipient identification number (max 50)
                      email:
                        type: string
                        pattern: ^.+@.+\..+$
                        description: Recipient email (required for PEN payouts)
                      destinationPhoneNumber:
                        type: string
                        pattern: ^\d{1,9}$
                        description: Recipient phone number (required, max 9 digits)
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_PEN
                    required:
                      - destinationName
                      - destinationBankCode
                      - destinationBankAccountNumber
                      - destinationBankAccountType
                      - destinationCCI
                      - destinationDocumentType
                      - destinationTaxId
                      - email
                      - destinationPhoneNumber
                      - type
                    description: Peruvian bank deposit details (bank-code payout corridor).
                    title: Bank Deposit PEN
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_NG
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Nigeria bank deposit details
                    title: Bank Deposit NG
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_KE
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Kenya bank deposit details
                    title: Bank Deposit KE
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_GH
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      Ghana bank deposit details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit GH
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_ZA
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: South Africa bank deposit details
                    title: Bank Deposit ZA
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_TZ
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Tanzania bank deposit details
                    title: Bank Deposit TZ
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_UG
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Uganda bank deposit details
                    title: Bank Deposit UG
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_RW
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Rwanda bank deposit details
                    title: Bank Deposit RW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_MW
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Malawi bank deposit details
                    title: Bank Deposit MW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_ZM
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Zambia bank deposit details
                    title: Bank Deposit ZM
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_BW
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Botswana bank deposit details
                    title: Bank Deposit BW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_CD
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: >-
                      DR Congo bank deposit details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Bank Deposit CD
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_XOF
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: West African CFA bank deposit details
                    title: Bank Deposit XOF
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankAccount:
                        type: string
                        description: Bank account
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationBankName is
                          given)
                      destinationBankName:
                        type: string
                        description: >-
                          Bank name (used to resolve the network when id is
                          omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_XAF
                    required:
                      - destinationName
                      - destinationBankAccount
                      - type
                    description: Central African CFA bank deposit details
                    title: Bank Deposit XAF
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_NG
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Nigeria mobile money details
                    title: Mobile Money NG
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_KE
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Kenya mobile money details
                    title: Mobile Money KE
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_GH
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: >-
                      Ghana mobile money details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: Mobile Money GH
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_ZA
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: South Africa mobile money details
                    title: Mobile Money ZA
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_TZ
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Tanzania mobile money details
                    title: Mobile Money TZ
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_UG
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Uganda mobile money details
                    title: Mobile Money UG
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_RW
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Rwanda mobile money details
                    title: Mobile Money RW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_MW
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Malawi mobile money details
                    title: Mobile Money MW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_ZM
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Zambia mobile money details
                    title: Mobile Money ZM
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_BW
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Botswana mobile money details
                    title: Mobile Money BW
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_CD
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: >-
                      DR Congo mobile money details. Deprecated — no active
                      payout corridor for this method; orders using it are
                      rejected. Retained for backward compatibility with stored
                      destinations.
                    title: Mobile Money CD
                    deprecated: true
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_XOF
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: West African CFA mobile money details
                    title: Mobile Money XOF
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPhoneNumber:
                        type: string
                        description: Phone number
                      destinationNetworkId:
                        type: string
                        description: >-
                          Payout network id (optional if destinationNetworkName
                          is given)
                      destinationNetworkName:
                        type: string
                        description: >-
                          Mobile money network name (resolves the network when
                          id omitted)
                      country:
                        type: string
                        description: ISO 3166 country code
                      type:
                        type: string
                        enum:
                          - MOBILE_MONEY_XAF
                    required:
                      - destinationName
                      - destinationPhoneNumber
                      - type
                    description: Central African CFA mobile money details
                    title: Mobile Money XAF
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationBankCode:
                        type: string
                        description: Bank code
                      destinationBankAccountNumber:
                        type: string
                        description: Bank account number (18-digit CLABE)
                      numericReference:
                        type: string
                        description: Numeric reference
                      notesReference:
                        type: string
                        description: Notes reference
                      destinationClabe:
                        type: string
                        description: >-
                          CLABE — legacy alias, prefer
                          destinationBankAccountNumber
                      destinationTaxId:
                        type: string
                        description: >-
                          Recipient tax id (RFC) — required by some MX
                          bank-deposit rails ("Número de Identificación");
                          optional otherwise
                      type:
                        type: string
                        enum:
                          - BANK_DEPOSIT_MX
                    required:
                      - destinationName
                      - destinationBankAccountNumber
                      - type
                    description: Mexican bank deposit details
                    title: Bank Deposit MX
                  - type: object
                    properties:
                      destinationName:
                        type: string
                        description: Name of the recipient
                      destinationPseNumber:
                        type: string
                        description: PSE number
                      type:
                        type: string
                        enum:
                          - PSE
                    required:
                      - destinationName
                      - destinationPseNumber
                      - type
                    description: >-
                      PSE transfer details. Deprecated — no active payout
                      corridor for this method; orders using it are rejected.
                      Retained for backward compatibility with stored
                      destinations.
                    title: PSE
                    deprecated: true
                description: Detailed withdrawal information
                title: WithdrawalInfo
              source:
                type: string
                enum:
                  - ui
                  - apiApp
                  - externalApi
                  - internal
                description: Source of withdrawal creation
                example: externalApi
              requires2FA:
                type: boolean
                description: Whether 2FA is required for this withdrawal
                example: false
              twoFactorToken:
                type: string
                description: 2FA token for email approval
                example: abc123
              twoFactorApprovedAt:
                type: number
                description: Timestamp when 2FA was approved
                example: 1723027132
              errorCode:
                type: string
                description: Error code when status is Review
                example: INSUFFICIENT_BALANCE
              errorDetails:
                type: string
                description: Detailed error information
                example: Insufficient balance for withdrawal
              reviewedBy:
                type: string
                description: Admin email who reviewed the withdrawal
                example: admin@example.com
              reviewedAt:
                type: number
                description: Timestamp when review happened
                example: 1723027132
            required:
              - withdrawalId
              - createdAt
              - amount
              - currency
              - fee
              - feeCurrency
              - status
            description: Details of the withdrawal associated with the order
          createdAt:
            type: number
            description: Creation time of the order (timestamp)
            examples:
              - 1723027132
              - 1723027200
              - 1723027300
          updatedAt:
            type: number
            description: Last update time of the order (timestamp)
            examples:
              - 1723027132
              - 1723027200
              - 1723027300
          status:
            type: string
            enum:
              - Pending
              - Processing
              - Reviewing
              - Success
              - Failed
              - Canceled
            description: Current status of the order
            title: OrderStatus
            examples:
              - Pending
              - Processing
              - Reviewing
              - Success
              - Failed
          externalReference:
            type: string
            description: External reference of the order, as you supplied it on create.
          externalRefeference:
            type: string
            description: >-
              Deprecated misspelling of `externalReference` — same value. Read
              `externalReference` instead; this key remains for backward
              compatibility and will be removed in a future major version.
            deprecated: true
          fee:
            type: number
            minimum: 0
            description: Total fee for the order once all the execution is completed
            examples:
              - 6.37
              - 8.5
              - 10.25
          expectedFee:
            type: number
            minimum: 0
            exclusiveMinimum: true
            description: Expected fee given the initial deposit amount
            examples:
              - 6.88
              - 9.2
              - 11.5
          expectedGasFee:
            type: number
            description: Expected gas fee if the withdrawal is with crypto
            examples:
              - 6.88
              - 8.5
              - 10.25
          feeCurrency:
            type: string
            description: Currency of the fee
            examples:
              - EUR
              - USD
              - GBP
        required:
          - orderId
          - createdAt
          - status
          - fee
          - expectedFee
          - feeCurrency
        description: Schema representing order details
      description: Response schema for listing orders
    ConfirmPayinRequest:
      type: object
      properties:
        orderId:
          type: string
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z0-9]{12}$
          description: ID of the order
          examples:
            - 01CLFXMT67II
            - 2R7E5Y5KFXP8
            - 4FWWRE3Y2URM
        referenceId:
          type: string
          description: >-
            Reference ID of the payin, for India is the UTR given after the
            payment
          examples:
            - '123'
            - '456'
            - '789'
      required:
        - orderId
        - referenceId
      description: Request schema for confirming a payin
    ConfirmPayinResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the payin was confirmed successfully
        message:
          type: string
          description: Success message
      required:
        - success
      description: Response schema for confirming a payin
    WebhookEventType:
      anyOf:
        - type: string
          enum:
            - deposit_completed
        - type: string
          enum:
            - deposit_partially_completed
        - type: string
          enum:
            - deposit_method_created
          description: >-
            A deposit method was created for an account. `data.status` is
            `ACTIVE` when instructions are already available, or `PENDING` when
            provisioning is still in progress (a `deposit_method_activated`
            event follows once ready).
        - type: string
          enum:
            - deposit_method_activated
          description: >-
            A deposit method became ACTIVE and `data.depositInfo` carries the
            receiving instructions (IBAN / wallet address). Sent at most once
            per method; ordering relative to `deposit_method_created` is not
            guaranteed when activation is immediate.
        - type: string
          enum:
            - trade_completed
          description: >-
            Reserved and **not currently emitted**. Do not build handlers that
            depend on receiving this type today; use `order_status_updated` /
            `order_completed` to track an order.
        - type: string
          enum:
            - withdrawal_completed
          description: >-
            Reserved and **not currently emitted**. Do not build handlers that
            depend on receiving this type today; use `order_status_updated` /
            `order_completed` to track a payout leg.
        - type: string
          enum:
            - order_status_updated
        - type: string
          enum:
            - openbanking_status_updated
        - type: string
          enum:
            - kyc_completed
          description: >-
            Deprecated. Will still be sent for backward compatibility when
            identity verification succeeds in certain flows. Prefer
            `verification_status_updated` for all KYC/KYB lifecycle and status
            changes (approved, rejected, pending, etc.).
          deprecated: true
        - type: string
          enum:
            - verification_status_updated
          description: >-
            **Recommended** for identity verification: KYC or KYB status
            changes. Inspect `data.verificationType` (`KYC` | `KYB`) and
            `data.status`.
        - type: string
          enum:
            - deposit_action_required
          description: >-
            An inbound deposit is held until you act — today only `data.reason:
            travel_rule_origin`: declare who sent it with `POST
            /v1/deposits/holds/{holdId}/travel-rule`. Re-sent every 6 hours
            while unanswered (`data.reminder: true`). Deduplicate on
            `data.eventId`.
        - type: string
          enum:
            - conversation_created
          description: >-
            A support conversation was opened. Notification-only: `data` carries
            pointers/timestamps, never message content. Fetch the conversation
            over the REST API. Deduplicate on `data.id` (stable per event).
        - type: string
          enum:
            - conversation_updated
          description: >-
            A support conversation changed (status/assignment/close/feedback).
            Notification-only: `data` carries pointers/timestamps, never message
            content. Deduplicate on `data.id` (stable per event).
        - type: string
          enum:
            - conversation_message_created
          description: >-
            A new message was added to a support conversation.
            Notification-only: `data` carries `data.messageId` +
            `data.senderType` (`account` | `support` | `system`), never the
            message text. Fetch the message over the REST API. Deduplicate on
            `data.id` (stable per event).
      description: Webhook event category; determines the shape of `data`.
      example: verification_status_updated
    WebhookRequest:
      type: object
      properties:
        type:
          anyOf:
            - type: string
              enum:
                - deposit_completed
            - type: string
              enum:
                - deposit_partially_completed
            - type: string
              enum:
                - deposit_method_created
              description: >-
                A deposit method was created for an account. `data.status` is
                `ACTIVE` when instructions are already available, or `PENDING`
                when provisioning is still in progress (a
                `deposit_method_activated` event follows once ready).
            - type: string
              enum:
                - deposit_method_activated
              description: >-
                A deposit method became ACTIVE and `data.depositInfo` carries
                the receiving instructions (IBAN / wallet address). Sent at most
                once per method; ordering relative to `deposit_method_created`
                is not guaranteed when activation is immediate.
            - type: string
              enum:
                - trade_completed
              description: >-
                Reserved and **not currently emitted**. Do not build handlers
                that depend on receiving this type today; use
                `order_status_updated` / `order_completed` to track an order.
            - type: string
              enum:
                - withdrawal_completed
              description: >-
                Reserved and **not currently emitted**. Do not build handlers
                that depend on receiving this type today; use
                `order_status_updated` / `order_completed` to track a payout
                leg.
            - type: string
              enum:
                - order_status_updated
            - type: string
              enum:
                - openbanking_status_updated
            - type: string
              enum:
                - kyc_completed
              description: >-
                Deprecated. Will still be sent for backward compatibility when
                identity verification succeeds in certain flows. Prefer
                `verification_status_updated` for all KYC/KYB lifecycle and
                status changes (approved, rejected, pending, etc.).
              deprecated: true
            - type: string
              enum:
                - verification_status_updated
              description: >-
                **Recommended** for identity verification: KYC or KYB status
                changes. Inspect `data.verificationType` (`KYC` | `KYB`) and
                `data.status`.
            - type: string
              enum:
                - deposit_action_required
              description: >-
                An inbound deposit is held until you act — today only
                `data.reason: travel_rule_origin`: declare who sent it with
                `POST /v1/deposits/holds/{holdId}/travel-rule`. Re-sent every 6
                hours while unanswered (`data.reminder: true`). Deduplicate on
                `data.eventId`.
            - type: string
              enum:
                - conversation_created
              description: >-
                A support conversation was opened. Notification-only: `data`
                carries pointers/timestamps, never message content. Fetch the
                conversation over the REST API. Deduplicate on `data.id` (stable
                per event).
            - type: string
              enum:
                - conversation_updated
              description: >-
                A support conversation changed
                (status/assignment/close/feedback). Notification-only: `data`
                carries pointers/timestamps, never message content. Deduplicate
                on `data.id` (stable per event).
            - type: string
              enum:
                - conversation_message_created
              description: >-
                A new message was added to a support conversation.
                Notification-only: `data` carries `data.messageId` +
                `data.senderType` (`account` | `support` | `system`), never the
                message text. Fetch the message over the REST API. Deduplicate
                on `data.id` (stable per event).
          description: Webhook event category; determines the shape of `data`.
          example: verification_status_updated
        id:
          type: string
          description: ID of the webhook event
          example: evt_123456
        api_version:
          type: string
          description: API version of the webhook event
          example: '1.0'
        apiKey:
          type: string
          description: >-
            Provided API key by you so we can authenticate incoming requests
            coming to your webhook endpoint
          example: xxx
        data:
          anyOf:
            - type: object
              properties:
                depositId:
                  type: string
                  minLength: 1
                  description: >-
                    ID of the deposit. Normally a 12-character internal id;
                    deposits created before mid-2026 may carry a longer legacy
                    id. Treat it as an opaque string.
                externalReference:
                  type: string
                  minLength: 1
                  maxLength: 128
                  description: >-
                    Your own reference for this deposit. Stored as-is and
                    returned on create, detail and list, so you can look the
                    deposit up by it after a network timeout instead of retrying
                    blind. Not interpreted by VirtuaBroker and not shown to the
                    payer — for the payer's transfer reference use
                    depositInfo.referenceCode.
                  examples:
                    - partner-ref-0001
                    - inv_2026_00417
                userData:
                  oneOf:
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        lastName:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: >-
                            Last name of the user making the deposit (or
                            representative for business)
                          examples:
                            - Doe
                            - Smith
                            - Johnson
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - firstName
                        - userEmail
                        - country
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - business
                        businessName:
                          type: string
                          maxLength: 150
                          description: Business name (required when userType is business)
                          examples:
                            - Acme Corp
                            - Tech Solutions Inc
                            - Global Services Ltd
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - businessName
                        - firstName
                        - userEmail
                        - country
                  description: User data of the person/company making the deposit
                  examples:
                    - userType: individual
                      firstName: John
                      lastName: Doe
                      userEmail: user@virtuabroker.com
                      address: 123 Main St, Anytown, ES
                      taxId: 123-45-6789
                      country: ES
                    - userType: individual
                      firstName: Alice
                      lastName: Smith
                      userEmail: alice@example.com
                      address: 456 Elm St, Anytown, ES
                      taxId: 987-65-4321
                      country: ES
                createdAt:
                  type: number
                  description: Creation time of the deposit
                  examples:
                    - 1723027132
                    - 1723027133
                    - 1723027134
                rail:
                  type: string
                  enum:
                    - BALANCE
                    - SEPA
                    - BTC
                    - ETH
                    - MATIC
                    - POLYGON
                    - CELO
                    - TRON
                    - SOLANA
                    - ARBITRUM
                    - OPTIMISM
                    - AVALANCHE
                    - BSC
                    - BASE
                    - XRP
                    - PIX_BR
                    - UPI
                    - IMPS
                    - TRY_BANK_TRANSFER
                    - AED_BANK_TRANSFER
                    - SPEI
                    - IDR_BANK_TRANSFER
                    - CREDIT_CARD
                    - THAI_QR
                    - VIET_QR
                    - GCASH
                    - ARGENTINA_BANK_TRANSFER
                    - PSE
                    - CLABE
                    - PIX
                    - BANK_DEPOSIT_COL
                    - BANK_DEPOSIT_AR
                    - BANK_DEPOSIT_CL
                    - BANK_DEPOSIT_PE
                    - BANK_DEPOSIT_BO
                    - BANK_DEPOSIT_BR
                    - BANK_DEPOSIT_NG
                    - BANK_DEPOSIT_KE
                    - BANK_DEPOSIT_GH
                    - BANK_DEPOSIT_ZA
                    - BANK_DEPOSIT_TZ
                    - BANK_DEPOSIT_UG
                    - BANK_DEPOSIT_RW
                    - BANK_DEPOSIT_MW
                    - BANK_DEPOSIT_ZM
                    - BANK_DEPOSIT_BW
                    - BANK_DEPOSIT_CD
                    - BANK_DEPOSIT_XOF
                    - BANK_DEPOSIT_XAF
                    - MOBILE_MONEY_NG
                    - MOBILE_MONEY_KE
                    - MOBILE_MONEY_GH
                    - MOBILE_MONEY_ZA
                    - MOBILE_MONEY_TZ
                    - MOBILE_MONEY_UG
                    - MOBILE_MONEY_RW
                    - MOBILE_MONEY_MW
                    - MOBILE_MONEY_ZM
                    - MOBILE_MONEY_BW
                    - MOBILE_MONEY_CD
                    - MOBILE_MONEY_XOF
                    - MOBILE_MONEY_XAF
                    - ACH_US
                    - GBP_BANK_TRANSFER
                  description: Rail of the deposit
                receivedAt:
                  type: number
                  description: >-
                    Unix ms timestamp of when the funds for this deposit ARRIVED
                    — recorded when the incoming payment is matched to the
                    deposit, which is before it is credited. Present whenever
                    funds have arrived, including a deposit whose funds are
                    still held in review; omitted entirely when no funds ever
                    arrived, so a never-funded or cancelled deposit has no value
                    here and its presence is a reliable settlement signal for
                    reconciliation. Identical on GET /v1/deposits and GET
                    /v1/deposits/{depositId}. Note that the deposit object
                    embedded in order and operation responses does not yet apply
                    this rule — it returns the stored value. Not the creation
                    time — use createdAt for that.
                  examples:
                    - 1723027132000
                    - 1723027133000
                    - 1723027134000
                expectedAmount:
                  type: number
                  minimum: 0
                  description: Amount expected of the deposit
                  examples:
                    - 1000
                    - 2000
                    - 3000
                amount:
                  type: number
                  minimum: 0
                  description: Amount received of the deposit
                  examples:
                    - 1000
                    - 2000
                    - 3000
                currency:
                  anyOf:
                    - type: string
                      enum:
                        - EUR
                        - USD
                        - GBP
                        - BRL
                        - MXN
                        - ARS
                        - COP
                        - PEN
                        - NGN
                        - KES
                        - TZS
                        - UGX
                        - RWF
                        - MWK
                        - ZMW
                        - XOF
                        - XAF
                        - BWP
                    - type: string
                      enum:
                        - USDC
                        - USDT
                        - CUSD
                        - BTC
                        - ETH
                        - POL
                        - SOL
                        - TRX
                        - AVAX
                        - XRP
                        - BNB
                  description: Currency of the deposit
                  examples:
                    - EUR
                    - BRL
                fee:
                  type: number
                  minimum: 0
                  description: >-
                    Fee for the deposit. This value is written once the deposit
                    has been executed. Meanwhile it will appear 0.
                  example: 10
                expectedFee:
                  type: number
                  minimum: 0
                  description: >-
                    Fee for the deposit. This value is correlated with the
                    expected amount for the deposit.
                  examples:
                    - 10
                    - 20
                    - 30
                feeCurrency:
                  anyOf:
                    - type: string
                      enum:
                        - EUR
                        - USD
                        - GBP
                        - BRL
                        - MXN
                        - ARS
                        - COP
                        - PEN
                        - NGN
                        - KES
                        - TZS
                        - UGX
                        - RWF
                        - MWK
                        - ZMW
                        - XOF
                        - XAF
                        - BWP
                    - type: string
                      enum:
                        - USDC
                        - USDT
                        - CUSD
                        - BTC
                        - ETH
                        - POL
                        - SOL
                        - TRX
                        - AVAX
                        - XRP
                        - BNB
                  description: Currency of the fee
                  examples:
                    - EUR
                    - BRL
                status:
                  anyOf:
                    - type: string
                      enum:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                      description: >-
                        Common status values that are shared across all
                        operation types
                      examples:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                    - type: string
                      enum:
                        - PendingCancel
                        - Received
                  description: Status of the deposit
                  examples:
                    - Pending
                    - Success
                    - Failed
                    - Received
                    - PendingCancel
                depositInfo:
                  oneOf:
                    - type: object
                      properties:
                        accountHolder:
                          type: string
                          description: Name of the account holder
                          example: John Doe
                        iban:
                          type: string
                          description: SEPA Bank Account Number
                          example: DE8937XXXXXXXXXXXX3000
                        bic:
                          type: string
                          description: Bank BIC/SWIFT code
                          example: DEUTDEFF
                        bankName:
                          type: string
                          description: Name of the bank
                          example: Deutsche Bank
                        bankAddress:
                          type: string
                          description: Address of the bank
                          example: Taunusanlage 12
                        bankCity:
                          type: string
                          description: City of the bank
                          example: Frankfurt am Main
                        bankZipcode:
                          type: string
                          description: Zipcode of the bank
                          example: '60325'
                        bankCountry:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country of the bank
                          example: DE
                        depositType:
                          type: string
                          enum:
                            - SEPA
                        amount:
                          type: number
                          minimum: 0
                          description: >-
                            Expected deposit amount. It can be 0 for open-amount
                            bank transfers where the sender chooses the final
                            amount from their bank.
                          example: 1000
                        referenceCode:
                          type: string
                          minLength: 1
                          description: >-
                            A unique identifier for the deposit, crucial for
                            matching the deposit with the corresponding order.
                            The user must include this code when making the
                            deposit to ensure accurate processing. In cases
                            where the reference code is incorrect or missing, we
                            manually match orders based on the sender's name and
                            other available details. In case the deposit is not
                            matched, we will mark the order as Reviewing and the
                            system will require manual attention.
                          example: REF123456
                        extraDepositMethods:
                          type: array
                          items:
                            type: object
                            properties:
                              methodType:
                                type: string
                                enum:
                                  - HOSTED_CHECKOUT
                                description: >-
                                  HOSTED_CHECKOUT: a hosted payment page to send
                                  the payer to (card). More types may be added —
                                  treat an unknown value as unsupported and fall
                                  back to the bank details in `depositInfo`.
                              url:
                                type: string
                                description: >-
                                  URL to send the payer to. For HOSTED_CHECKOUT,
                                  redirect the payer here (or embed it) to pay
                                  by card.
                                example: https://checkout.example.com/pay/abc123
                              callbackUrl:
                                type: string
                                description: >-
                                  Where the payer’s BROWSER is returned after
                                  paying. Informational only: it is not a
                                  server-to-server notification, and a payer
                                  landing there is NOT proof of payment — rely
                                  on the deposit status or webhooks for that.
                              referenceCode:
                                type: string
                                description: >-
                                  Payment reference for this method (equals the
                                  deposit/order reference)
                              amount:
                                type: number
                                description: >-
                                  Amount payable via this method when it differs
                                  from the deposit amount (e.g. a
                                  method-specific surcharge)
                              currency:
                                type: string
                                description: Currency of this method
                              expiresAt:
                                type: number
                                description: >-
                                  Unix ms after which `url` is no longer valid,
                                  when known
                            required:
                              - methodType
                              - url
                            description: An additional, optional way to pay this deposit
                          description: >-
                            Additional, optional ways to pay this same deposit
                            (e.g. a hosted card page). The bank details above
                            remain the primary method; ignore this field if you
                            only support bank transfer.
                      required:
                        - depositType
                        - amount
                        - referenceCode
                      description: >-
                        Detailed information about a bank deposit, including the
                        amount and a unique reference code for identification.
                    - type: object
                      properties:
                        address:
                          type: string
                          minLength: 1
                          description: Crypto wallet address
                          example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                        network:
                          type: string
                          enum:
                            - MATIC
                            - ETH
                            - CELO
                            - TRON
                            - BTC
                            - SOLANA
                            - XRP
                            - CARDANO
                            - BSC
                            - ARBITRUM
                            - OPTIMISM
                            - AVALANCHE
                            - BASE
                          description: Network for the deposit for crypto deposits
                          examples:
                            - ETH
                            - MATIC
                            - CELO
                        memo:
                          type: string
                          description: Optional memo for the transaction
                          example: Payment for services
                        depositType:
                          type: string
                          enum:
                            - CRYPTO
                        qrCode:
                          type: string
                          description: Base64-encoded QR image for the deposit address
                          example: >-
                            iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                        qrCodeUrl:
                          type: string
                          format: uri
                          description: 7-day signed GCS URL of the QR code PNG
                        qrCodeExpiresAt:
                          type: number
                          description: Unix timestamp (ms) when qrCodeUrl expires
                        receivingAddress:
                          type: string
                          description: The wallet address where funds should be sent
                          example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                        tokenContract:
                          type: string
                          description: The ERC20 token contract address
                          example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                        decimals:
                          type: number
                          description: Token decimals (default 18)
                          example: 18
                      required:
                        - address
                        - network
                        - depositType
                      description: Crypto Deposit Information
                    - type: object
                      properties:
                        base64QRCode:
                          type: string
                          minLength: 1
                          description: Base64 encoded QR code
                          example: base64QRCode
                        qrCodeString:
                          type: string
                          minLength: 1
                          description: >-
                            The Pix copy-and-paste code (BR Code payload) the
                            payer pastes into their bank app. Pass it through
                            unchanged — it carries its own checksum.
                          example: qrCodeString
                        referenceCode:
                          type: string
                          minLength: 1
                          description: >-
                            A unique identifier for the deposit, crucial for
                            matching the deposit with the corresponding order
                          example: REF123456
                        amount:
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                          description: >-
                            The monetary value to be deposited into the bank.
                            This amount should be positive and accurately
                            reflect the intended deposit.
                          example: 1000
                        depositType:
                          type: string
                          enum:
                            - PIX
                      required:
                        - base64QRCode
                        - qrCodeString
                        - referenceCode
                        - amount
                        - depositType
                      description: Pix Deposit Information
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - CREDIT_CARD
                      required:
                        - depositType
                    - type: object
                      properties:
                        bankName:
                          type: string
                          description: Name of the bank (present when the rail provides it)
                        accountHolder:
                          type: string
                          description: >-
                            Name of the account holder (present when the rail
                            provides it)
                        clabe:
                          type: string
                          description: CLABE number
                        accountNumber:
                          type: string
                          description: >-
                            Bank account number (e.g. from the BANK_TRANSFER
                            payment method)
                        reference:
                          type: string
                          description: >-
                            Payment reference (e.g. from the BANK_TRANSFER
                            payment method)
                        depositType:
                          type: string
                          enum:
                            - CLABE
                          description: Type of the deposit
                      required:
                        - clabe
                        - depositType
                    - type: object
                      properties:
                        url:
                          type: string
                          description: URL of the PSE payment
                        amountPrefilled:
                          type: boolean
                          description: >-
                            Whether the payment page already carries the amount.
                            When false or absent, the payer must enter it.
                        depositType:
                          type: string
                          enum:
                            - PSE
                          description: Type of the deposit
                      required:
                        - url
                        - depositType
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BALANCE
                      required:
                        - depositType
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - PENDING
                        currency:
                          type: string
                          description: Currency of the deposit
                        referenceCode:
                          type: string
                          description: Reference code for the order/deposit
                        amount:
                          type: number
                          minimum: 0
                          description: >-
                            Expected deposit amount. It can be 0 while bank
                            transfer details are open-amount or still being
                            provisioned.
                        extraDepositMethods:
                          type: array
                          items:
                            type: object
                            properties:
                              methodType:
                                type: string
                                enum:
                                  - HOSTED_CHECKOUT
                                description: >-
                                  HOSTED_CHECKOUT: a hosted payment page to send
                                  the payer to (card). More types may be added —
                                  treat an unknown value as unsupported and fall
                                  back to the bank details in `depositInfo`.
                              url:
                                type: string
                                description: >-
                                  URL to send the payer to. For HOSTED_CHECKOUT,
                                  redirect the payer here (or embed it) to pay
                                  by card.
                                example: https://checkout.example.com/pay/abc123
                              callbackUrl:
                                type: string
                                description: >-
                                  Where the payer’s BROWSER is returned after
                                  paying. Informational only: it is not a
                                  server-to-server notification, and a payer
                                  landing there is NOT proof of payment — rely
                                  on the deposit status or webhooks for that.
                              referenceCode:
                                type: string
                                description: >-
                                  Payment reference for this method (equals the
                                  deposit/order reference)
                              amount:
                                type: number
                                description: >-
                                  Amount payable via this method when it differs
                                  from the deposit amount (e.g. a
                                  method-specific surcharge)
                              currency:
                                type: string
                                description: Currency of this method
                              expiresAt:
                                type: number
                                description: >-
                                  Unix ms after which `url` is no longer valid,
                                  when known
                            required:
                              - methodType
                              - url
                            description: An additional, optional way to pay this deposit
                          description: >-
                            Additional ways to pay while the bank details are
                            being provisioned (e.g. a hosted card page).
                            Optional — ignore it and wait for the bank details
                            if you only support bank transfer.
                        pendingReason:
                          type: string
                          enum:
                            - collection_account_activating
                            - accountless_per_account_corridor
                          description: >-
                            Why the instructions are still being provisioned,
                            when the reason is known.
                            `collection_account_activating` means the collection
                            account for this payer is being activated and
                            payable details are expected shortly.
                            `accountless_per_account_corridor` means this
                            corridor collects only into a collection account
                            dedicated to the paying account, this request names
                            no account, and none can be created for it — so
                            payable details will NOT arrive by waiting; create
                            the deposit against an account instead. Absence
                            never conveys timing on either surface: here it
                            means only that no reason is classifiable, and an
                            account-level deposit-method instruction never
                            carries the field at all. Treat the values as an
                            open set and ignore any you do not recognise.
                      required:
                        - depositType
                        - currency
                        - referenceCode
                        - amount
                      description: >-
                        Deposit details are being provisioned; poll the
                        order/deposit or wait for webhook
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - IMPS
                        accountNumber:
                          type: string
                          description: Account number
                        bankName:
                          type: string
                          description: Name of the bank
                        accountHolder:
                          type: string
                          description: Name of the account holder
                        ifsc:
                          type: string
                          description: ifsc number
                        type:
                          type: string
                          description: Type of the deposit
                        branch:
                          type: string
                          description: Branch of the bank
                        bank:
                          type: string
                          description: Bank of the account
                        otp:
                          type: string
                          description: OTP of the deposit
                        bankNotes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: number
                                description: 'Type of note: -1 for warning, 1 for info'
                              msg:
                                type: string
                                description: Message content
                            required:
                              - type
                              - msg
                          description: Additional bank instructions
                      required:
                        - depositType
                        - accountNumber
                        - bankName
                        - accountHolder
                        - ifsc
                        - type
                        - branch
                        - bank
                        - otp
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - UPI
                        vpa:
                          type: string
                          description: Virtual Payment Address
                        name:
                          type: string
                          description: Name of the account holder
                        otp:
                          type: string
                          description: OTP for the transaction
                        paymentLink:
                          type: string
                          description: Payment link
                        upiNotes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: number
                                description: 'Type of note: -1 for warning, 1 for info'
                              msg:
                                type: string
                                description: Message content
                            required:
                              - type
                              - msg
                          description: Additional UPI instructions
                      required:
                        - depositType
                        - vpa
                        - name
                        - otp
                        - paymentLink
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - AED_BANK_TRANSFER
                        iban:
                          type: string
                          description: International Bank Account Number
                        name:
                          type: string
                          description: Name of the account holder
                        bank:
                          type: string
                          description: Bank name
                        type:
                          type: string
                          description: Account type
                        address:
                          type: string
                          description: Bank address
                        email:
                          type: string
                          description: Contact email
                        phoneNumber:
                          type: string
                          description: Contact phone number
                        transferCode:
                          type: string
                          description: Transfer code
                        poBox:
                          type: string
                          description: P.O. Box
                        otp:
                          type: string
                          description: OTP for the transaction
                        bankNotes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: number
                                description: 'Type of note: -1 for warning, 1 for info'
                              msg:
                                type: string
                                description: Message content
                            required:
                              - type
                              - msg
                          description: Additional bank instructions
                      required:
                        - depositType
                        - iban
                        - name
                        - bank
                        - type
                        - address
                        - email
                        - phoneNumber
                        - transferCode
                        - poBox
                        - otp
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - SPEI
                        clabe:
                          type: string
                          description: CLABE number
                        name:
                          type: string
                          description: Name of the account holder
                        bank:
                          type: string
                          description: Bank name
                        bankNotes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: number
                                description: 'Type of note: -1 for warning, 1 for info'
                              msg:
                                type: string
                                description: Message content
                            required:
                              - type
                              - msg
                          description: Additional bank instructions
                      required:
                        - depositType
                        - clabe
                        - name
                        - bank
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - TRY_BANK_TRANSFER
                        iban:
                          type: string
                          description: International Bank Account Number
                        name:
                          type: string
                          description: Name of the account holder
                        bank:
                          type: string
                          description: Bank name
                        otp:
                          type: string
                          description: OTP for the transaction
                        bankNotes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: number
                                description: 'Type of note: -1 for warning, 1 for info'
                              msg:
                                type: string
                                description: Message content
                            required:
                              - type
                              - msg
                          description: Additional bank instructions
                      required:
                        - depositType
                        - iban
                        - name
                        - bank
                        - otp
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - IDR_BANK_TRANSFER
                        virtualAccount:
                          type: string
                          description: Virtual account number
                        name:
                          type: string
                          description: Name of the account holder
                        bank:
                          type: string
                          description: Bank name
                        bankNotes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: number
                                description: 'Type of note: -1 for warning, 1 for info'
                              msg:
                                type: string
                                description: Message content
                            required:
                              - type
                              - msg
                          description: Additional bank instructions
                      required:
                        - depositType
                        - virtualAccount
                        - name
                        - bank
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - THAI_QR
                        qrCode:
                          type: string
                          description: QR code
                        otp:
                          type: string
                          description: OTP for the transaction
                        bankNotes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: number
                                description: 'Type of note: -1 for warning, 1 for info'
                              msg:
                                type: string
                                description: Message content
                            required:
                              - type
                              - msg
                          description: Additional bank instructions
                      required:
                        - depositType
                        - qrCode
                        - otp
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - VIET_QR
                        qrCode:
                          type: string
                          description: QR code
                        otp:
                          type: string
                          description: OTP for the transaction
                        bankNotes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: number
                                description: 'Type of note: -1 for warning, 1 for info'
                              msg:
                                type: string
                                description: Message content
                            required:
                              - type
                              - msg
                          description: Additional bank instructions
                      required:
                        - depositType
                        - qrCode
                        - otp
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - GCASH
                        qrCode:
                          type: string
                          description: QR code
                        otp:
                          type: string
                          description: OTP for the transaction
                        bankNotes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: number
                                description: 'Type of note: -1 for warning, 1 for info'
                              msg:
                                type: string
                                description: Message content
                            required:
                              - type
                              - msg
                          description: Additional bank instructions
                      required:
                        - depositType
                        - qrCode
                        - otp
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - ARGENTINA_BANK_TRANSFER
                        accountNumber:
                          type: string
                          description: Account number
                        accountHolder:
                          type: string
                          description: Account holder name
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - accountNumber
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - ACH_US
                        routingNumber:
                          type: string
                          description: US bank ABA routing number
                        accountNumber:
                          type: string
                          description: US bank account number
                        beneficiaryName:
                          type: string
                          description: Beneficiary name on the account
                        bankName:
                          type: string
                          description: Name of the bank
                        bankAddress:
                          type: string
                          description: Address of the bank
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names (e.g. ACH, Wire)
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount in USD
                        referenceCode:
                          type: string
                          minLength: 1
                          description: Reference code to include in the wire/ACH transfer
                      required:
                        - depositType
                        - routingNumber
                        - accountNumber
                        - beneficiaryName
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - ACH_PULL
                      required:
                        - depositType
                      description: >-
                        Funds are pulled from the holder's own linked US bank
                        account; no transfer instructions apply
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - LOCALBANK
                          description: >-
                            Deprecated generic local-bank payin type. Superseded
                            by the corridor-specific deposit types (e.g. SEPA,
                            ACH_US, GBP_BANK_TRANSFER, CLABE/SPEI, PIX,
                            ARGENTINA_BANK_TRANSFER, BANK_DEPOSIT_<CC>). Still
                            returned on some corridors and on historical
                            records, so integrators must continue to handle it.
                            Discover the applicable per-currency method via GET
                            /v1/currencies/{currency}/payin-schema.
                          deprecated: true
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - GBP_BANK_TRANSFER
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: UK bank account number
                        sortCode:
                          type: string
                          description: UK sort code
                        bankName:
                          type: string
                          description: Name of the bank
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        schemes:
                          type: array
                          items:
                            type: string
                          description: >-
                            Accepted payment scheme names (e.g. Faster Payments,
                            CHAPS, BACS)
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount in GBP
                        referenceCode:
                          type: string
                          minLength: 1
                          description: Reference code to include in the transfer
                      required:
                        - depositType
                        - accountHolder
                        - accountNumber
                        - sortCode
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_COL
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CL
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BO
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BR
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_NG
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_KE
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_GH
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZA
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_TZ
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_UG
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_RW
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_MW
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZM
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BW
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CD
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XOF
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XAF
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_NG
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_KE
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_GH
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZA
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_TZ
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_UG
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_RW
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_MW
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZM
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_BW
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_CD
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_XOF
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - MOBILE_MONEY_XAF
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                        amount:
                          type: number
                          minimum: 0
                          description: Expected deposit amount
                        referenceCode:
                          type: string
                          description: Reference code for the transfer
                      required:
                        - depositType
                        - amount
                        - referenceCode
                  description: Details of the deposit
                  examples:
                    - accountHolder: John Doe
                      iban: DE8937XXXXXXXXXXXX3000
                      bic: COBADEFFXXX
                      bankName: Commerzbank
                      bankAddress: Mainzer Landstrasse 151-153
                      bankCity: Frankfurt
                      bankZipcode: '60327'
                      bankCountry: DE
                      amount: 1000
                      referenceCode: ABC123
                      depositType: SEPA
                depositInfoPending:
                  type: boolean
                  description: >-
                    True while the payment instructions are still being
                    prepared. Poll this deposit until it is false (or absent)
                    before showing the instructions to the payer.
                complianceHold:
                  type: object
                  properties:
                    reason:
                      type: string
                      enum:
                        - screening
                        - fiat_monitoring
                      description: Compliance hold reason
                  required:
                    - reason
                  description: >-
                    Present while the inbound transfer funding this deposit is
                    held in provider compliance review. The deposit stays
                    Reviewing (amount 0, never credited) until the hold clears
                    (promote to Received) or the transfer is rejected/returned
                    (terminalize).
              required:
                - depositId
                - createdAt
                - expectedAmount
                - amount
                - currency
                - fee
                - expectedFee
                - feeCurrency
                - status
                - depositInfo
              description: Data for deposit completed event
              example:
                depositId: deposit-123
                userData:
                  userType: individual
                  firstName: John
                  lastName: Doe
                  userEmail: customer@example.com
                  address: 123 Main St, Anytown, ES
                  taxId: 123-45-6789
                  country: ES
                createdAt: 1723027132
                expectedAmount: 1000
                amount: 1000
                currency: EUR
                fee: 10
                expectedFee: 10
                feeCurrency: EUR
                status: Success
                depositInfo:
                  accountHolder: John Doe
                  iban: DE8937XXXXXXXXXXXX3000
                  bic: COBADEFFXXX
                  bankName: Example Bank
                  bankAddress: 1 Example Street
                  bankCity: Example City
                  bankZipcode: '00000'
                  bankCountry: DE
                  amount: 1000
                  referenceCode: ABC123
                  depositType: SEPA
            - type: object
              properties:
                methodId:
                  type: string
                  description: Deposit method id
                methodType:
                  type: string
                  enum:
                    - crypto
                    - fiat
                  description: Normalized deposit method type
                currency:
                  type: string
                  description: Currency of the deposit method
                network:
                  type: string
                  description: Network for crypto deposit methods
                status:
                  type: string
                  enum:
                    - ACTIVE
                    - PENDING
                  description: Normalized deposit method status
                depositInfo:
                  oneOf:
                    - type: object
                      properties:
                        address:
                          type: string
                          minLength: 1
                          description: Crypto wallet address
                          example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                        network:
                          type: string
                          enum:
                            - MATIC
                            - ETH
                            - CELO
                            - TRON
                            - BTC
                            - SOLANA
                            - XRP
                            - CARDANO
                            - BSC
                            - ARBITRUM
                            - OPTIMISM
                            - AVALANCHE
                            - BASE
                          description: Network for the deposit for crypto deposits
                          examples:
                            - ETH
                            - MATIC
                            - CELO
                        memo:
                          type: string
                          description: Optional memo for the transaction
                          example: Payment for services
                        depositType:
                          type: string
                          enum:
                            - CRYPTO
                        qrCode:
                          type: string
                          description: Base64-encoded QR image for the deposit address
                          example: >-
                            iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                        qrCodeUrl:
                          type: string
                          format: uri
                          description: 7-day signed GCS URL of the QR code PNG
                        qrCodeExpiresAt:
                          type: number
                          description: Unix timestamp (ms) when qrCodeUrl expires
                        receivingAddress:
                          type: string
                          description: The wallet address where funds should be sent
                          example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                        tokenContract:
                          type: string
                          description: The ERC20 token contract address
                          example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                        decimals:
                          type: number
                          description: Token decimals (default 18)
                          example: 18
                      required:
                        - address
                        - network
                        - depositType
                      description: Crypto Deposit Information
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - SEPA
                        accountHolder:
                          type: string
                          description: Account holder name
                        iban:
                          type: string
                          description: SEPA Bank Account Number
                        bic:
                          type: string
                          description: Bank BIC/SWIFT code
                        accountNumber:
                          type: string
                          description: Bank account number
                        bankName:
                          type: string
                          description: Name of the bank
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        referenceCode:
                          type: string
                          minLength: 1
                          description: >-
                            Payment reference the payer must include in the
                            transfer. Present when this account is a shared
                            collection account, where the reference (not the
                            account number) is what attributes an incoming
                            payment. Absent when the account is dedicated to
                            this deposit method, in which case the coordinates
                            alone identify it. When present it is mandatory: a
                            transfer that omits it cannot be attributed
                            automatically.
                      required:
                        - depositType
                        - iban
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - ACH_US
                        routingNumber:
                          type: string
                          description: US bank ABA routing number
                        accountNumber:
                          type: string
                          description: US bank account number
                        beneficiaryName:
                          type: string
                          description: Beneficiary name on the account
                        bankName:
                          type: string
                          description: Name of the bank
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names (e.g. ACH, Wire)
                      required:
                        - depositType
                        - routingNumber
                        - accountNumber
                        - beneficiaryName
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - GBP_BANK_TRANSFER
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: UK bank account number
                        sortCode:
                          type: string
                          description: UK sort code
                        bankName:
                          type: string
                          description: Name of the bank
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        schemes:
                          type: array
                          items:
                            type: string
                          description: >-
                            Accepted payment scheme names (e.g. Faster Payments,
                            CHAPS, BACS)
                      required:
                        - depositType
                        - accountNumber
                        - sortCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - LOCALBANK
                        accountHolder:
                          type: string
                          description: Account holder name
                        accountNumber:
                          type: string
                          description: Local bank account number
                        bankName:
                          type: string
                          description: Bank name
                        bankCountry:
                          type: string
                          description: ISO-3166 country code
                        routingCodes:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Routing code type (e.g. "routing_number",
                                  "sort_code")
                              value:
                                type: string
                                description: Routing code value
                            required:
                              - type
                              - value
                          description: Routing identifiers (e.g. sort code, routing number)
                        schemes:
                          type: array
                          items:
                            type: string
                          description: Accepted payment scheme names for this account
                      required:
                        - depositType
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - PIX
                        qrCodeString:
                          type: string
                          minLength: 1
                          description: >-
                            Pix copia-e-cola payload (EMV BR Code text) the
                            payer pastes into their bank app; the payer enters
                            the amount
                        base64QRCode:
                          type: string
                          minLength: 1
                          description: >-
                            The same payload rendered as a PNG, raw base64 (no
                            data-URI prefix)
                      required:
                        - depositType
                        - qrCodeString
                        - base64QRCode
                    - type: object
                      properties:
                        depositType:
                          type: string
                          enum:
                            - PENDING
                        currency:
                          type: string
                          description: Currency of the deposit method
                      required:
                        - depositType
                        - currency
                    - type: object
                      properties:
                        url:
                          type: string
                          description: URL of the PSE payment
                        amountPrefilled:
                          type: boolean
                          description: >-
                            Whether the payment page already carries the amount.
                            When false or absent, the payer must enter it.
                        depositType:
                          type: string
                          enum:
                            - PSE
                          description: Type of the deposit
                      required:
                        - url
                        - depositType
                  description: Deposit instructions for the method when available
                createdAt:
                  type: number
                  description: Creation timestamp
                updatedAt:
                  type: number
                  description: Last update timestamp
                accountId:
                  type: string
                  description: Account id that owns the deposit method
              required:
                - methodId
                - methodType
                - currency
                - status
                - accountId
              description: >-
                Data for deposit_method_created / deposit_method_activated
                events
              example:
                methodId: dm_abc123
                accountId: customer@example.com
                methodType: fiat
                currency: EUR
                status: ACTIVE
                depositInfo:
                  depositType: SEPA
                  iban: DE8937XXXXXXXXXXXX3000
                  bic: COBADEFFXXX
                  accountHolder: John Doe
                createdAt: 1723027132
                updatedAt: 1723027132
            - type: object
              properties:
                tradeId:
                  type: string
                  description: ID of the trade
                  example: 123e4567-e89b-12d3-a456-426614174000
                createdAt:
                  type: number
                  description: Creation time of the trade
                  example: 1723027132
                pair:
                  type: string
                  description: Asset pair to trade
                  example: BTC/EUR
                tradeType:
                  type: string
                  enum:
                    - buy
                    - sell
                  description: Type of trade
                volume:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: Order quantity in lots
                  example: 0.5
                price:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: Price at which to place the order based on the pair
                  example: 30000
                conversionRate:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: >-
                    Conversion rate at which to place the order based on the
                    pair
                  example: 30000
                fee:
                  type: number
                  minimum: 0
                  description: Fee for the trade
                  example: 0.1
                feeCurrency:
                  type: string
                  description: Currency of the fee
                  example: EUR
                userEmail:
                  type: string
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the trade
                  example: user@example.com
              required:
                - tradeId
                - createdAt
                - pair
                - tradeType
                - volume
                - fee
                - feeCurrency
                - userEmail
              description: Data for trade completed event
            - type: object
              properties:
                withdrawalId:
                  anyOf:
                    - type: string
                      minLength: 12
                      maxLength: 12
                      pattern: ^[A-Z0-9]{12}$
                      examples:
                        - 01CLFXMT67II
                        - 2R7E5Y5KFXP8
                        - 4FWWRE3Y2URM
                    - type: string
                      format: uuid
                  description: ID of the withdrawal
                userData:
                  oneOf:
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        lastName:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: >-
                            Last name of the user making the deposit (or
                            representative for business)
                          examples:
                            - Doe
                            - Smith
                            - Johnson
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - firstName
                        - userEmail
                        - country
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - business
                        businessName:
                          type: string
                          maxLength: 150
                          description: Business name (required when userType is business)
                          examples:
                            - Acme Corp
                            - Tech Solutions Inc
                            - Global Services Ltd
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - businessName
                        - firstName
                        - userEmail
                        - country
                  description: User data for the withdrawal
                createdAt:
                  type: number
                  description: Creation time of the withdrawal
                  example: 1723027132
                updatedAt:
                  type: number
                  description: Last update time of the withdrawal
                  example: 1723027132
                userEmail:
                  type: string
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the request
                  example: user@example.com
                amount:
                  type: number
                  description: >-
                    Amount to be withdrawn. This value is written once the
                    withdrawal has been executed. Meanwhile it will appear 0.
                  example: 1000
                currency:
                  type: string
                  description: Currency of the withdrawal
                  example: EUR
                fee:
                  type: number
                  description: >-
                    Fee for the withdrawal. This value is written once the
                    withdrawal has been executed. Meanwhile it will appear 0.
                  example: 10
                feeCurrency:
                  type: string
                  description: Currency of the fee
                  example: EUR
                destinationTransferData:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BALANCE
                      required:
                        - type
                      description: Balance transfer details
                      title: Balance
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        iban:
                          type: string
                          description: IBAN number
                        bic:
                          type: string
                          description: BIC number (optional)
                        country:
                          type: string
                          description: Country code
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for SEPA payouts —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for SEPA
                            payouts — provide it here or in
                            destinationUserData.postalCode.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as the payout beneficiary `address.line1` when
                            registering the beneficiary. Stored on the saved
                            transaction method so the user does not have to
                            re-supply it on every withdraw.
                        type:
                          type: string
                          enum:
                            - SEPA
                      required:
                        - destinationName
                        - iban
                        - country
                        - type
                      description: SEPA transfer details
                      title: SEPA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        accountNumber:
                          type: string
                          description: UK bank account number
                        sortCode:
                          type: string
                          description: UK sort code
                        country:
                          type: string
                          enum:
                            - GB
                          default: GB
                          description: >-
                            ISO 3166 country code of the recipient (GBP transfer
                            is UK-based)
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for this rail —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for this rail
                            — provide it here or in
                            destinationUserData.postalCode.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as payee address when creating the payee.
                        type:
                          type: string
                          enum:
                            - GBP_BANK_TRANSFER
                      required:
                        - destinationName
                        - accountNumber
                        - sortCode
                        - type
                      description: GBP domestic bank transfer details
                      title: BankDepositGB
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        accountNumber:
                          type: string
                          description: US bank account number
                        routingNumber:
                          type: string
                          description: US ABA routing number
                        country:
                          type: string
                          enum:
                            - US
                          default: US
                          description: >-
                            ISO 3166 country code of the recipient (ACH is
                            US-domestic)
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        bankAccountType:
                          type: string
                          enum:
                            - CHECKING
                            - SAVINGS
                          default: CHECKING
                          description: >-
                            Kind of bank account the payout lands in. Defaults
                            to CHECKING when omitted.
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for this rail —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for this rail
                            — provide it here or in
                            destinationUserData.postalCode.
                        state:
                          type: string
                          pattern: ^[A-Z]{2}$
                          description: >-
                            Two-letter US state code of the recipient (e.g. NY).
                            REQUIRED for this rail.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as payee address when creating the payee.
                        type:
                          type: string
                          enum:
                            - ACH_US
                      required:
                        - destinationName
                        - accountNumber
                        - routingNumber
                        - state
                        - type
                      description: USD ACH transfer details
                      title: AchUS
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - linkedBankAccount
                        accountLinkId:
                          type: string
                          pattern: ^alnk_[0-9a-f]{24}$
                          description: >-
                            Identifier of one of the account holder own linked
                            bank accounts
                          examples:
                            - alnk_0123456789abcdef01234567
                      required:
                        - type
                        - accountLinkId
                      description: >-
                        A bank account the account holder linked beforehand.
                        Pays out only to the holder of the order; never to a
                        third party. Not available yet.
                      title: LinkedBankAccount
                      deprecated: true
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ETH
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: ETH destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: ETH
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - MATIC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: MATIC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: MATIC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - SOL
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: SOL destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: SOL
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - TRON
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: TRON destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: TRON
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - CELO
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: CELO destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: CELO
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BTC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BTC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: BTC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - SOLANA
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: SOLANA destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: SOLANA
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - XRP
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: XRP destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: XRP
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - CARDANO
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: CARDANO destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: CARDANO
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BSC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BSC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: BSC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ARBITRUM
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: ARBITRUM destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: ARBITRUM
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - OPTIMISM
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: OPTIMISM destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: OPTIMISM
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - AVALANCHE
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: AVALANCHE destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: AVALANCHE
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BASE
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BASE destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: BASE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/COP/networks. Not read by the payout;
                            retained for the network selector and for stored
                            records.
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_COL
                        destinationBankCode:
                          type: string
                          description: >-
                            Recipient bank code — one of the 4-digit codes
                            published by GET
                            /v1/currencies/COP/destination-schema?method=bankDepositCOL
                            (the code, not the name). Required when creating or
                            updating a destination.
                        destinationBankAccountType:
                          type: string
                          description: >-
                            Bank account type — CORRIENTE or AHORRO. Required
                            when creating or updating a destination.
                        destinationTaxId:
                          type: string
                          description: >-
                            Recipient ID document number. Required when creating
                            or updating a destination.
                        destinationDocumentType:
                          type: string
                          description: >-
                            Recipient ID document type — CC, CE, NIT, TI or PP.
                            Required when creating or updating a destination.
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Colombian bank deposit details. Equivalent to ACH_COP —
                        same payout rail, same required fields, same bank
                        roster; ACH_COP is recommended for new integrations.
                        Note that BANK_DEPOSIT_COL is also the name of a COP
                        collection rail.
                      title: Bank Deposit COL
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        brebKey:
                          type: string
                          minLength: 1
                          description: >-
                            Bre-B key (llave) that identifies the recipient
                            account
                        email:
                          type: string
                          description: >-
                            Recipient email (optional contact for the Bre-B
                            rail)
                        destinationPhoneNumber:
                          type: string
                          description: >-
                            Recipient phone number (optional contact for the
                            Bre-B rail)
                        type:
                          type: string
                          enum:
                            - BRE_B_COP
                      required:
                        - destinationName
                        - brebKey
                        - type
                      description: Colombian Bre-B payout details
                      title: Bre-B COP
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          pattern: ^\d{4}$
                          description: >-
                            Recipient bank code — one of the 4-digit codes
                            published by GET
                            /v1/currencies/COP/destination-schema?method=achCOP
                            (the code, not the name)
                        destinationBankAccountNumber:
                          type: string
                          minLength: 1
                          description: Recipient bank account number
                        destinationBankAccountType:
                          type: string
                          minLength: 1
                          description: Bank account type (e.g. AHORROS / CORRIENTE)
                        destinationDocumentType:
                          type: string
                          minLength: 1
                          description: Recipient ID document type (e.g. CC / CE / NIT)
                        destinationTaxId:
                          type: string
                          minLength: 1
                          description: Recipient ID document number
                        type:
                          type: string
                          enum:
                            - ACH_COP
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccountNumber
                        - destinationBankAccountType
                        - destinationDocumentType
                        - destinationTaxId
                        - type
                      description: Colombian ACH payout details
                      title: ACH COP
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (unused for TWD — no network
                            discovery)
                        destinationBankName:
                          type: string
                          minLength: 2
                          description: Bank name (required — TWD payouts run over SWIFT)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_TW
                        destinationBankBranch:
                          type: string
                          minLength: 2
                          description: Bank branch (required — TWD payouts run over SWIFT)
                        bic:
                          type: string
                          pattern: >-
                            ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                          description: SWIFT BIC code (required for TWD payouts)
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient (legacy, optional)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankName
                        - type
                        - destinationBankBranch
                        - bic
                      description: Taiwan bank deposit details (SWIFT payout)
                      title: Bank Deposit TW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankBranch:
                          type: string
                          description: Bank branch
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BR
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccount
                        - destinationBankBranch
                        - destinationTaxId
                        - type
                      description: Brazilian bank deposit details
                      title: Bank Deposit BR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPixCode:
                          type: string
                          description: PIX code
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient
                        type:
                          type: string
                          enum:
                            - PIX_BR
                      required:
                        - destinationName
                        - destinationPixCode
                        - destinationTaxId
                        - type
                      description: Brazilian PIX details
                      title: PIX BR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccountNumber:
                          type: string
                          description: Bank account number
                        destinationBankName:
                          type: string
                          description: Name of the bank
                        destinationTaxId:
                          type: string
                          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                          description: Tax ID of the recipient
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_VEN
                      required:
                        - destinationName
                        - destinationBankAccountNumber
                        - destinationBankName
                        - destinationTaxId
                        - destinationBankAccountType
                        - type
                      description: Venezuelan bank deposit details
                      title: Bank Deposit VEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationTaxId:
                          type: string
                          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                          description: Tax ID of the recipient
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account
                        type:
                          type: string
                          enum:
                            - PHONE_DEPOSIT_VEN
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationPhoneNumber
                        - destinationTaxId
                        - destinationBankAccountType
                        - type
                      description: Venezuelan phone deposit details
                      title: Phone Deposit VEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_IN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        India bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit IN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - IMPS
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        India IMPS details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: IMPS
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - THAI_QR
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Thailand Thai QR details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: Thai QR
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - VIET_QR
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Vietnam Viet QR details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: Viet QR
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - GCASH
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Philippines GCash details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: GCash
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationTaxId:
                          type: string
                          description: Tax ID
                        type:
                          type: string
                          enum:
                            - MOBILE_PAYMENT_IN
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - destinationTaxId
                        - type
                      description: >-
                        India mobile payment details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Payment IN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankCode:
                          type: string
                          description: Bank code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_VN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankCode
                        - type
                      description: >-
                        Vietnam bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit VN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        bic:
                          type: string
                          description: >-
                            SWIFT BIC code (required for HKD payouts via the HK
                            bank corridor)
                        destinationBankName:
                          type: string
                          description: Bank name
                        destinationAddress:
                          type: string
                          description: Address line 1 of the recipient
                        destinationCity:
                          type: string
                          description: Recipient city (defaults to Hong Kong)
                        accountHolderName:
                          type: string
                          description: Bank account holder name if different from payee
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_HK
                      required:
                        - destinationName
                        - destinationBankAccount
                        - bic
                        - destinationBankName
                        - destinationAddress
                        - type
                      description: Hong Kong bank deposit details (HKD bank corridor)
                      title: Bank Deposit HK
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankCode:
                          type: string
                          pattern: ^\d+$
                          description: >-
                            CNAPS / bank institution code (numeric, variable
                            length)
                        destinationBankName:
                          type: string
                          description: Bank name
                        destinationAddress:
                          type: string
                          description: Address line 1 of the recipient
                        destinationCity:
                          type: string
                          description: Recipient city
                        destinationState:
                          type: string
                          minLength: 1
                          description: >-
                            Province / state of the recipient (required for CN —
                            the beneficiary is rejected in compliance review
                            without it)
                        destinationPostcode:
                          type: string
                          minLength: 1
                          description: >-
                            Postal code of the recipient (required for CN — the
                            beneficiary is rejected in compliance review without
                            it)
                        destinationPhone:
                          type: string
                          description: >-
                            Phone number of the recipient, without country
                            prefix (optional; defaulted for CN when omitted)
                        destinationTaxId:
                          type: string
                          description: >-
                            Unified Social Credit Code (USCC, GB 32100-2015) of
                            the recipient company — 18 characters including the
                            check digit; whitespace is removed and letters are
                            normalized to uppercase (optional)
                        accountHolderName:
                          type: string
                          description: Bank account holder name if different from payee
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankCode
                        - destinationBankName
                        - destinationAddress
                        - destinationCity
                        - destinationState
                        - destinationPostcode
                        - type
                      description: China mainland bank deposit details (CNY bank corridor)
                      title: Bank Deposit CN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/ARS/networks (the network selector,
                            optional)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_AR
                        destinationCBU:
                          type: string
                          description: CBU — 22-digit bank account key (legacy, optional)
                        destinationCVU:
                          type: string
                          description: >-
                            CVU — 22-digit virtual account key (legacy,
                            optional)
                        destinationAlias:
                          type: string
                          description: Account alias (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: >-
                            CUIT/CUIL tax ID of the recipient (required when
                            creating ARS bank destinations): exactly 11 digits
                            with no hyphens, spaces or other characters, and a
                            valid check digit (e.g. 20000000001)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Argentinian bank deposit details
                      title: Bank Deposit AR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          minLength: 1
                          description: >-
                            Recipient bank name (required for Chilean bank
                            payouts)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CL
                        destinationBankAccountType:
                          type: string
                          minLength: 1
                          description: >-
                            Account type — corriente or ahorro (required for
                            Chilean bank payouts)
                        destinationTaxId:
                          type: string
                          minLength: 1
                          description: >-
                            RUT tax ID of the recipient (required for Chilean
                            bank payouts)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankName
                        - type
                        - destinationBankAccountType
                        - destinationTaxId
                      description: Chilean bank deposit details
                      title: Bank Deposit CL
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          minLength: 2
                          maxLength: 30
                          description: Recipient name (required, 2–30 characters)
                        destinationBankAccount:
                          type: string
                          minLength: 1
                          maxLength: 11
                          description: >-
                            Bank account number (max 11 digits for Bolivian
                            accounts)
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (unused for BOB — no network
                            discovery)
                        destinationBankName:
                          type: string
                          maxLength: 20
                          description: Bank name (optional, max 20 characters)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BO
                        destinationTaxId:
                          type: string
                          minLength: 1
                          maxLength: 15
                          description: >-
                            NIT tax ID of the recipient (required for Bolivian
                            payouts)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                        - destinationTaxId
                      description: Bolivian bank deposit details
                      title: Bank Deposit BO
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/PEN/networks (the network selector)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_PE
                        destinationCCI:
                          type: string
                          description: >-
                            CCI — 20-digit interbank account code (legacy,
                            optional)
                        destinationBankAccountType:
                          type: string
                          description: Account type (corriente/ahorro) (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: >-
                            DNI/RUC document ID of the recipient (legacy,
                            optional)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationNetworkId
                        - type
                      description: >-
                        Peruvian bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit PE
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          pattern: ^\d{3}$
                          description: >-
                            Recipient bank code (the 3-digit code the rail
                            expects, not the name)
                        destinationBankAccountNumber:
                          type: string
                          minLength: 1
                          maxLength: 20
                          description: Recipient bank account number (max 20)
                        destinationBankAccountType:
                          type: string
                          enum:
                            - CORRIENTE
                            - AHORROS
                            - PHONE
                          description: Bank account type
                        destinationCCI:
                          type: string
                          pattern: ^\d{1,20}$
                          description: >-
                            CCI — Peruvian interbank code (required, digits
                            only, max 20)
                        destinationDocumentType:
                          type: string
                          enum:
                            - CC
                            - CE
                            - RUC
                            - PAS
                            - PAR
                            - LMI
                            - OTHER
                          description: Recipient identification type
                        destinationTaxId:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: Recipient identification number (max 50)
                        email:
                          type: string
                          pattern: ^.+@.+\..+$
                          description: Recipient email (required for PEN payouts)
                        destinationPhoneNumber:
                          type: string
                          pattern: ^\d{1,9}$
                          description: Recipient phone number (required, max 9 digits)
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_PEN
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccountNumber
                        - destinationBankAccountType
                        - destinationCCI
                        - destinationDocumentType
                        - destinationTaxId
                        - email
                        - destinationPhoneNumber
                        - type
                      description: >-
                        Peruvian bank deposit details (bank-code payout
                        corridor).
                      title: Bank Deposit PEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_NG
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Nigeria bank deposit details
                      title: Bank Deposit NG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_KE
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Kenya bank deposit details
                      title: Bank Deposit KE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_GH
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Ghana bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit GH
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZA
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: South Africa bank deposit details
                      title: Bank Deposit ZA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_TZ
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Tanzania bank deposit details
                      title: Bank Deposit TZ
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_UG
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Uganda bank deposit details
                      title: Bank Deposit UG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_RW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Rwanda bank deposit details
                      title: Bank Deposit RW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_MW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Malawi bank deposit details
                      title: Bank Deposit MW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZM
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Zambia bank deposit details
                      title: Bank Deposit ZM
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Botswana bank deposit details
                      title: Bank Deposit BW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CD
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        DR Congo bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit CD
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XOF
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: West African CFA bank deposit details
                      title: Bank Deposit XOF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XAF
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Central African CFA bank deposit details
                      title: Bank Deposit XAF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_NG
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Nigeria mobile money details
                      title: Mobile Money NG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_KE
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Kenya mobile money details
                      title: Mobile Money KE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_GH
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: >-
                        Ghana mobile money details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Money GH
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZA
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: South Africa mobile money details
                      title: Mobile Money ZA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_TZ
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Tanzania mobile money details
                      title: Mobile Money TZ
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_UG
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Uganda mobile money details
                      title: Mobile Money UG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_RW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Rwanda mobile money details
                      title: Mobile Money RW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_MW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Malawi mobile money details
                      title: Mobile Money MW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZM
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Zambia mobile money details
                      title: Mobile Money ZM
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_BW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Botswana mobile money details
                      title: Mobile Money BW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_CD
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: >-
                        DR Congo mobile money details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Money CD
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_XOF
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: West African CFA mobile money details
                      title: Mobile Money XOF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_XAF
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Central African CFA mobile money details
                      title: Mobile Money XAF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationBankAccountNumber:
                          type: string
                          description: Bank account number (18-digit CLABE)
                        numericReference:
                          type: string
                          description: Numeric reference
                        notesReference:
                          type: string
                          description: Notes reference
                        destinationClabe:
                          type: string
                          description: >-
                            CLABE — legacy alias, prefer
                            destinationBankAccountNumber
                        destinationTaxId:
                          type: string
                          description: >-
                            Recipient tax id (RFC) — required by some MX
                            bank-deposit rails ("Número de Identificación");
                            optional otherwise
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_MX
                      required:
                        - destinationName
                        - destinationBankAccountNumber
                        - type
                      description: Mexican bank deposit details
                      title: Bank Deposit MX
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPseNumber:
                          type: string
                          description: PSE number
                        type:
                          type: string
                          enum:
                            - PSE
                      required:
                        - destinationName
                        - destinationPseNumber
                        - type
                      description: >-
                        PSE transfer details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: PSE
                      deprecated: true
                  description: >-
                    The details required for the end user destination transfer
                    method.
                status:
                  anyOf:
                    - type: string
                      enum:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                      description: >-
                        Common status values that are shared across all
                        operation types
                      examples:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                    - type: string
                      enum:
                        - PendingCancel
                        - PendingWithdrawal
                        - PendingVerification
                        - Pending2FA
                        - Compliance
                        - Accepted
                        - Approved
                        - Rejected
                        - Review
                  description: Status of the withdrawal
                  examples:
                    - Pending
                    - Pending2FA
                    - Compliance
                    - Accepted
                    - Approved
                    - Success
                    - Failed
                    - Review
                    - Rejected
                withdrawalInfo:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BALANCE
                      required:
                        - type
                      description: Balance transfer details
                      title: Balance
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        iban:
                          type: string
                          description: IBAN number
                        bic:
                          type: string
                          description: BIC number (optional)
                        country:
                          type: string
                          description: Country code
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for SEPA payouts —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for SEPA
                            payouts — provide it here or in
                            destinationUserData.postalCode.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as the payout beneficiary `address.line1` when
                            registering the beneficiary. Stored on the saved
                            transaction method so the user does not have to
                            re-supply it on every withdraw.
                        type:
                          type: string
                          enum:
                            - SEPA
                      required:
                        - destinationName
                        - iban
                        - country
                        - type
                      description: SEPA transfer details
                      title: SEPA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        accountNumber:
                          type: string
                          description: UK bank account number
                        sortCode:
                          type: string
                          description: UK sort code
                        country:
                          type: string
                          enum:
                            - GB
                          default: GB
                          description: >-
                            ISO 3166 country code of the recipient (GBP transfer
                            is UK-based)
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for this rail —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for this rail
                            — provide it here or in
                            destinationUserData.postalCode.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as payee address when creating the payee.
                        type:
                          type: string
                          enum:
                            - GBP_BANK_TRANSFER
                      required:
                        - destinationName
                        - accountNumber
                        - sortCode
                        - type
                      description: GBP domestic bank transfer details
                      title: BankDepositGB
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        accountNumber:
                          type: string
                          description: US bank account number
                        routingNumber:
                          type: string
                          description: US ABA routing number
                        country:
                          type: string
                          enum:
                            - US
                          default: US
                          description: >-
                            ISO 3166 country code of the recipient (ACH is
                            US-domestic)
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        bankAccountType:
                          type: string
                          enum:
                            - CHECKING
                            - SAVINGS
                          default: CHECKING
                          description: >-
                            Kind of bank account the payout lands in. Defaults
                            to CHECKING when omitted.
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for this rail —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for this rail
                            — provide it here or in
                            destinationUserData.postalCode.
                        state:
                          type: string
                          pattern: ^[A-Z]{2}$
                          description: >-
                            Two-letter US state code of the recipient (e.g. NY).
                            REQUIRED for this rail.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as payee address when creating the payee.
                        type:
                          type: string
                          enum:
                            - ACH_US
                      required:
                        - destinationName
                        - accountNumber
                        - routingNumber
                        - state
                        - type
                      description: USD ACH transfer details
                      title: AchUS
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - linkedBankAccount
                        accountLinkId:
                          type: string
                          pattern: ^alnk_[0-9a-f]{24}$
                          description: >-
                            Identifier of one of the account holder own linked
                            bank accounts
                          examples:
                            - alnk_0123456789abcdef01234567
                      required:
                        - type
                        - accountLinkId
                      description: >-
                        A bank account the account holder linked beforehand.
                        Pays out only to the holder of the order; never to a
                        third party. Not available yet.
                      title: LinkedBankAccount
                      deprecated: true
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ETH
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: ETH destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: ETH
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - MATIC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: MATIC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: MATIC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - SOL
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: SOL destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: SOL
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - TRON
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: TRON destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: TRON
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - CELO
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: CELO destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: CELO
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BTC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BTC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: BTC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - SOLANA
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: SOLANA destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: SOLANA
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - XRP
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: XRP destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: XRP
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - CARDANO
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: CARDANO destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: CARDANO
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BSC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BSC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: BSC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ARBITRUM
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: ARBITRUM destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: ARBITRUM
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - OPTIMISM
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: OPTIMISM destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: OPTIMISM
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - AVALANCHE
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: AVALANCHE destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: AVALANCHE
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BASE
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BASE destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: BASE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/COP/networks. Not read by the payout;
                            retained for the network selector and for stored
                            records.
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_COL
                        destinationBankCode:
                          type: string
                          description: >-
                            Recipient bank code — one of the 4-digit codes
                            published by GET
                            /v1/currencies/COP/destination-schema?method=bankDepositCOL
                            (the code, not the name). Required when creating or
                            updating a destination.
                        destinationBankAccountType:
                          type: string
                          description: >-
                            Bank account type — CORRIENTE or AHORRO. Required
                            when creating or updating a destination.
                        destinationTaxId:
                          type: string
                          description: >-
                            Recipient ID document number. Required when creating
                            or updating a destination.
                        destinationDocumentType:
                          type: string
                          description: >-
                            Recipient ID document type — CC, CE, NIT, TI or PP.
                            Required when creating or updating a destination.
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Colombian bank deposit details. Equivalent to ACH_COP —
                        same payout rail, same required fields, same bank
                        roster; ACH_COP is recommended for new integrations.
                        Note that BANK_DEPOSIT_COL is also the name of a COP
                        collection rail.
                      title: Bank Deposit COL
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        brebKey:
                          type: string
                          minLength: 1
                          description: >-
                            Bre-B key (llave) that identifies the recipient
                            account
                        email:
                          type: string
                          description: >-
                            Recipient email (optional contact for the Bre-B
                            rail)
                        destinationPhoneNumber:
                          type: string
                          description: >-
                            Recipient phone number (optional contact for the
                            Bre-B rail)
                        type:
                          type: string
                          enum:
                            - BRE_B_COP
                      required:
                        - destinationName
                        - brebKey
                        - type
                      description: Colombian Bre-B payout details
                      title: Bre-B COP
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          pattern: ^\d{4}$
                          description: >-
                            Recipient bank code — one of the 4-digit codes
                            published by GET
                            /v1/currencies/COP/destination-schema?method=achCOP
                            (the code, not the name)
                        destinationBankAccountNumber:
                          type: string
                          minLength: 1
                          description: Recipient bank account number
                        destinationBankAccountType:
                          type: string
                          minLength: 1
                          description: Bank account type (e.g. AHORROS / CORRIENTE)
                        destinationDocumentType:
                          type: string
                          minLength: 1
                          description: Recipient ID document type (e.g. CC / CE / NIT)
                        destinationTaxId:
                          type: string
                          minLength: 1
                          description: Recipient ID document number
                        type:
                          type: string
                          enum:
                            - ACH_COP
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccountNumber
                        - destinationBankAccountType
                        - destinationDocumentType
                        - destinationTaxId
                        - type
                      description: Colombian ACH payout details
                      title: ACH COP
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (unused for TWD — no network
                            discovery)
                        destinationBankName:
                          type: string
                          minLength: 2
                          description: Bank name (required — TWD payouts run over SWIFT)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_TW
                        destinationBankBranch:
                          type: string
                          minLength: 2
                          description: Bank branch (required — TWD payouts run over SWIFT)
                        bic:
                          type: string
                          pattern: >-
                            ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                          description: SWIFT BIC code (required for TWD payouts)
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient (legacy, optional)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankName
                        - type
                        - destinationBankBranch
                        - bic
                      description: Taiwan bank deposit details (SWIFT payout)
                      title: Bank Deposit TW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankBranch:
                          type: string
                          description: Bank branch
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BR
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccount
                        - destinationBankBranch
                        - destinationTaxId
                        - type
                      description: Brazilian bank deposit details
                      title: Bank Deposit BR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPixCode:
                          type: string
                          description: PIX code
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient
                        type:
                          type: string
                          enum:
                            - PIX_BR
                      required:
                        - destinationName
                        - destinationPixCode
                        - destinationTaxId
                        - type
                      description: Brazilian PIX details
                      title: PIX BR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccountNumber:
                          type: string
                          description: Bank account number
                        destinationBankName:
                          type: string
                          description: Name of the bank
                        destinationTaxId:
                          type: string
                          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                          description: Tax ID of the recipient
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_VEN
                      required:
                        - destinationName
                        - destinationBankAccountNumber
                        - destinationBankName
                        - destinationTaxId
                        - destinationBankAccountType
                        - type
                      description: Venezuelan bank deposit details
                      title: Bank Deposit VEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationTaxId:
                          type: string
                          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                          description: Tax ID of the recipient
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account
                        type:
                          type: string
                          enum:
                            - PHONE_DEPOSIT_VEN
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationPhoneNumber
                        - destinationTaxId
                        - destinationBankAccountType
                        - type
                      description: Venezuelan phone deposit details
                      title: Phone Deposit VEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_IN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        India bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit IN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - IMPS
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        India IMPS details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: IMPS
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - THAI_QR
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Thailand Thai QR details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: Thai QR
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - VIET_QR
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Vietnam Viet QR details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: Viet QR
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - GCASH
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Philippines GCash details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: GCash
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationTaxId:
                          type: string
                          description: Tax ID
                        type:
                          type: string
                          enum:
                            - MOBILE_PAYMENT_IN
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - destinationTaxId
                        - type
                      description: >-
                        India mobile payment details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Payment IN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankCode:
                          type: string
                          description: Bank code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_VN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankCode
                        - type
                      description: >-
                        Vietnam bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit VN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        bic:
                          type: string
                          description: >-
                            SWIFT BIC code (required for HKD payouts via the HK
                            bank corridor)
                        destinationBankName:
                          type: string
                          description: Bank name
                        destinationAddress:
                          type: string
                          description: Address line 1 of the recipient
                        destinationCity:
                          type: string
                          description: Recipient city (defaults to Hong Kong)
                        accountHolderName:
                          type: string
                          description: Bank account holder name if different from payee
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_HK
                      required:
                        - destinationName
                        - destinationBankAccount
                        - bic
                        - destinationBankName
                        - destinationAddress
                        - type
                      description: Hong Kong bank deposit details (HKD bank corridor)
                      title: Bank Deposit HK
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankCode:
                          type: string
                          pattern: ^\d+$
                          description: >-
                            CNAPS / bank institution code (numeric, variable
                            length)
                        destinationBankName:
                          type: string
                          description: Bank name
                        destinationAddress:
                          type: string
                          description: Address line 1 of the recipient
                        destinationCity:
                          type: string
                          description: Recipient city
                        destinationState:
                          type: string
                          minLength: 1
                          description: >-
                            Province / state of the recipient (required for CN —
                            the beneficiary is rejected in compliance review
                            without it)
                        destinationPostcode:
                          type: string
                          minLength: 1
                          description: >-
                            Postal code of the recipient (required for CN — the
                            beneficiary is rejected in compliance review without
                            it)
                        destinationPhone:
                          type: string
                          description: >-
                            Phone number of the recipient, without country
                            prefix (optional; defaulted for CN when omitted)
                        destinationTaxId:
                          type: string
                          description: >-
                            Unified Social Credit Code (USCC, GB 32100-2015) of
                            the recipient company — 18 characters including the
                            check digit; whitespace is removed and letters are
                            normalized to uppercase (optional)
                        accountHolderName:
                          type: string
                          description: Bank account holder name if different from payee
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankCode
                        - destinationBankName
                        - destinationAddress
                        - destinationCity
                        - destinationState
                        - destinationPostcode
                        - type
                      description: China mainland bank deposit details (CNY bank corridor)
                      title: Bank Deposit CN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/ARS/networks (the network selector,
                            optional)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_AR
                        destinationCBU:
                          type: string
                          description: CBU — 22-digit bank account key (legacy, optional)
                        destinationCVU:
                          type: string
                          description: >-
                            CVU — 22-digit virtual account key (legacy,
                            optional)
                        destinationAlias:
                          type: string
                          description: Account alias (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: >-
                            CUIT/CUIL tax ID of the recipient (required when
                            creating ARS bank destinations): exactly 11 digits
                            with no hyphens, spaces or other characters, and a
                            valid check digit (e.g. 20000000001)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Argentinian bank deposit details
                      title: Bank Deposit AR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          minLength: 1
                          description: >-
                            Recipient bank name (required for Chilean bank
                            payouts)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CL
                        destinationBankAccountType:
                          type: string
                          minLength: 1
                          description: >-
                            Account type — corriente or ahorro (required for
                            Chilean bank payouts)
                        destinationTaxId:
                          type: string
                          minLength: 1
                          description: >-
                            RUT tax ID of the recipient (required for Chilean
                            bank payouts)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankName
                        - type
                        - destinationBankAccountType
                        - destinationTaxId
                      description: Chilean bank deposit details
                      title: Bank Deposit CL
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          minLength: 2
                          maxLength: 30
                          description: Recipient name (required, 2–30 characters)
                        destinationBankAccount:
                          type: string
                          minLength: 1
                          maxLength: 11
                          description: >-
                            Bank account number (max 11 digits for Bolivian
                            accounts)
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (unused for BOB — no network
                            discovery)
                        destinationBankName:
                          type: string
                          maxLength: 20
                          description: Bank name (optional, max 20 characters)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BO
                        destinationTaxId:
                          type: string
                          minLength: 1
                          maxLength: 15
                          description: >-
                            NIT tax ID of the recipient (required for Bolivian
                            payouts)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                        - destinationTaxId
                      description: Bolivian bank deposit details
                      title: Bank Deposit BO
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/PEN/networks (the network selector)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_PE
                        destinationCCI:
                          type: string
                          description: >-
                            CCI — 20-digit interbank account code (legacy,
                            optional)
                        destinationBankAccountType:
                          type: string
                          description: Account type (corriente/ahorro) (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: >-
                            DNI/RUC document ID of the recipient (legacy,
                            optional)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationNetworkId
                        - type
                      description: >-
                        Peruvian bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit PE
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          pattern: ^\d{3}$
                          description: >-
                            Recipient bank code (the 3-digit code the rail
                            expects, not the name)
                        destinationBankAccountNumber:
                          type: string
                          minLength: 1
                          maxLength: 20
                          description: Recipient bank account number (max 20)
                        destinationBankAccountType:
                          type: string
                          enum:
                            - CORRIENTE
                            - AHORROS
                            - PHONE
                          description: Bank account type
                        destinationCCI:
                          type: string
                          pattern: ^\d{1,20}$
                          description: >-
                            CCI — Peruvian interbank code (required, digits
                            only, max 20)
                        destinationDocumentType:
                          type: string
                          enum:
                            - CC
                            - CE
                            - RUC
                            - PAS
                            - PAR
                            - LMI
                            - OTHER
                          description: Recipient identification type
                        destinationTaxId:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: Recipient identification number (max 50)
                        email:
                          type: string
                          pattern: ^.+@.+\..+$
                          description: Recipient email (required for PEN payouts)
                        destinationPhoneNumber:
                          type: string
                          pattern: ^\d{1,9}$
                          description: Recipient phone number (required, max 9 digits)
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_PEN
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccountNumber
                        - destinationBankAccountType
                        - destinationCCI
                        - destinationDocumentType
                        - destinationTaxId
                        - email
                        - destinationPhoneNumber
                        - type
                      description: >-
                        Peruvian bank deposit details (bank-code payout
                        corridor).
                      title: Bank Deposit PEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_NG
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Nigeria bank deposit details
                      title: Bank Deposit NG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_KE
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Kenya bank deposit details
                      title: Bank Deposit KE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_GH
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Ghana bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit GH
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZA
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: South Africa bank deposit details
                      title: Bank Deposit ZA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_TZ
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Tanzania bank deposit details
                      title: Bank Deposit TZ
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_UG
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Uganda bank deposit details
                      title: Bank Deposit UG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_RW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Rwanda bank deposit details
                      title: Bank Deposit RW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_MW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Malawi bank deposit details
                      title: Bank Deposit MW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZM
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Zambia bank deposit details
                      title: Bank Deposit ZM
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Botswana bank deposit details
                      title: Bank Deposit BW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CD
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        DR Congo bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit CD
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XOF
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: West African CFA bank deposit details
                      title: Bank Deposit XOF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XAF
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Central African CFA bank deposit details
                      title: Bank Deposit XAF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_NG
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Nigeria mobile money details
                      title: Mobile Money NG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_KE
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Kenya mobile money details
                      title: Mobile Money KE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_GH
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: >-
                        Ghana mobile money details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Money GH
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZA
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: South Africa mobile money details
                      title: Mobile Money ZA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_TZ
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Tanzania mobile money details
                      title: Mobile Money TZ
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_UG
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Uganda mobile money details
                      title: Mobile Money UG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_RW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Rwanda mobile money details
                      title: Mobile Money RW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_MW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Malawi mobile money details
                      title: Mobile Money MW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZM
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Zambia mobile money details
                      title: Mobile Money ZM
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_BW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Botswana mobile money details
                      title: Mobile Money BW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_CD
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: >-
                        DR Congo mobile money details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Money CD
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_XOF
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: West African CFA mobile money details
                      title: Mobile Money XOF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_XAF
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Central African CFA mobile money details
                      title: Mobile Money XAF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationBankAccountNumber:
                          type: string
                          description: Bank account number (18-digit CLABE)
                        numericReference:
                          type: string
                          description: Numeric reference
                        notesReference:
                          type: string
                          description: Notes reference
                        destinationClabe:
                          type: string
                          description: >-
                            CLABE — legacy alias, prefer
                            destinationBankAccountNumber
                        destinationTaxId:
                          type: string
                          description: >-
                            Recipient tax id (RFC) — required by some MX
                            bank-deposit rails ("Número de Identificación");
                            optional otherwise
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_MX
                      required:
                        - destinationName
                        - destinationBankAccountNumber
                        - type
                      description: Mexican bank deposit details
                      title: Bank Deposit MX
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPseNumber:
                          type: string
                          description: PSE number
                        type:
                          type: string
                          enum:
                            - PSE
                      required:
                        - destinationName
                        - destinationPseNumber
                        - type
                      description: >-
                        PSE transfer details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: PSE
                      deprecated: true
                  description: Detailed withdrawal information
                  title: WithdrawalInfo
                source:
                  type: string
                  enum:
                    - ui
                    - apiApp
                    - externalApi
                    - internal
                  description: Source of withdrawal creation
                  example: externalApi
                requires2FA:
                  type: boolean
                  description: Whether 2FA is required for this withdrawal
                  example: false
                twoFactorToken:
                  type: string
                  description: 2FA token for email approval
                  example: abc123
                twoFactorApprovedAt:
                  type: number
                  description: Timestamp when 2FA was approved
                  example: 1723027132
                errorCode:
                  type: string
                  description: Error code when status is Review
                  example: INSUFFICIENT_BALANCE
                errorDetails:
                  type: string
                  description: Detailed error information
                  example: Insufficient balance for withdrawal
                reviewedBy:
                  type: string
                  description: Admin email who reviewed the withdrawal
                  example: admin@example.com
                reviewedAt:
                  type: number
                  description: Timestamp when review happened
                  example: 1723027132
              required:
                - withdrawalId
                - createdAt
                - amount
                - currency
                - fee
                - feeCurrency
                - status
              description: Data for withdrawal completed event
            - type: object
              properties:
                orderId:
                  type: string
                  description: ID of the order
                  examples:
                    - 01CLFXMT67II
                    - 2R7E5Y5KFXP8
                    - 4FWWRE3Y2URM
                deposit:
                  type: object
                  properties:
                    depositId:
                      type: string
                      minLength: 1
                      description: >-
                        ID of the deposit. Normally a 12-character internal id;
                        deposits created before mid-2026 may carry a longer
                        legacy id. Treat it as an opaque string.
                    externalReference:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: >-
                        Your own reference for this deposit. Stored as-is and
                        returned on create, detail and list, so you can look the
                        deposit up by it after a network timeout instead of
                        retrying blind. Not interpreted by VirtuaBroker and not
                        shown to the payer — for the payer's transfer reference
                        use depositInfo.referenceCode.
                      examples:
                        - partner-ref-0001
                        - inv_2026_00417
                    userData:
                      oneOf:
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            lastName:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: >-
                                Last name of the user making the deposit (or
                                representative for business)
                              examples:
                                - Doe
                                - Smith
                                - Johnson
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - firstName
                            - userEmail
                            - country
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - business
                            businessName:
                              type: string
                              maxLength: 150
                              description: >-
                                Business name (required when userType is
                                business)
                              examples:
                                - Acme Corp
                                - Tech Solutions Inc
                                - Global Services Ltd
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - businessName
                            - firstName
                            - userEmail
                            - country
                      description: User data of the person/company making the deposit
                      examples:
                        - userType: individual
                          firstName: John
                          lastName: Doe
                          userEmail: user@virtuabroker.com
                          address: 123 Main St, Anytown, ES
                          taxId: 123-45-6789
                          country: ES
                        - userType: individual
                          firstName: Alice
                          lastName: Smith
                          userEmail: alice@example.com
                          address: 456 Elm St, Anytown, ES
                          taxId: 987-65-4321
                          country: ES
                    createdAt:
                      type: number
                      description: Creation time of the deposit
                      examples:
                        - 1723027132
                        - 1723027133
                        - 1723027134
                    rail:
                      type: string
                      enum:
                        - BALANCE
                        - SEPA
                        - BTC
                        - ETH
                        - MATIC
                        - POLYGON
                        - CELO
                        - TRON
                        - SOLANA
                        - ARBITRUM
                        - OPTIMISM
                        - AVALANCHE
                        - BSC
                        - BASE
                        - XRP
                        - PIX_BR
                        - UPI
                        - IMPS
                        - TRY_BANK_TRANSFER
                        - AED_BANK_TRANSFER
                        - SPEI
                        - IDR_BANK_TRANSFER
                        - CREDIT_CARD
                        - THAI_QR
                        - VIET_QR
                        - GCASH
                        - ARGENTINA_BANK_TRANSFER
                        - PSE
                        - CLABE
                        - PIX
                        - BANK_DEPOSIT_COL
                        - BANK_DEPOSIT_AR
                        - BANK_DEPOSIT_CL
                        - BANK_DEPOSIT_PE
                        - BANK_DEPOSIT_BO
                        - BANK_DEPOSIT_BR
                        - BANK_DEPOSIT_NG
                        - BANK_DEPOSIT_KE
                        - BANK_DEPOSIT_GH
                        - BANK_DEPOSIT_ZA
                        - BANK_DEPOSIT_TZ
                        - BANK_DEPOSIT_UG
                        - BANK_DEPOSIT_RW
                        - BANK_DEPOSIT_MW
                        - BANK_DEPOSIT_ZM
                        - BANK_DEPOSIT_BW
                        - BANK_DEPOSIT_CD
                        - BANK_DEPOSIT_XOF
                        - BANK_DEPOSIT_XAF
                        - MOBILE_MONEY_NG
                        - MOBILE_MONEY_KE
                        - MOBILE_MONEY_GH
                        - MOBILE_MONEY_ZA
                        - MOBILE_MONEY_TZ
                        - MOBILE_MONEY_UG
                        - MOBILE_MONEY_RW
                        - MOBILE_MONEY_MW
                        - MOBILE_MONEY_ZM
                        - MOBILE_MONEY_BW
                        - MOBILE_MONEY_CD
                        - MOBILE_MONEY_XOF
                        - MOBILE_MONEY_XAF
                        - ACH_US
                        - GBP_BANK_TRANSFER
                      description: Rail of the deposit
                    receivedAt:
                      type: number
                      description: >-
                        Unix ms timestamp of when the funds for this deposit
                        ARRIVED — recorded when the incoming payment is matched
                        to the deposit, which is before it is credited. Present
                        whenever funds have arrived, including a deposit whose
                        funds are still held in review; omitted entirely when no
                        funds ever arrived, so a never-funded or cancelled
                        deposit has no value here and its presence is a reliable
                        settlement signal for reconciliation. Identical on GET
                        /v1/deposits and GET /v1/deposits/{depositId}. Note that
                        the deposit object embedded in order and operation
                        responses does not yet apply this rule — it returns the
                        stored value. Not the creation time — use createdAt for
                        that.
                      examples:
                        - 1723027132000
                        - 1723027133000
                        - 1723027134000
                    expectedAmount:
                      type: number
                      minimum: 0
                      description: Amount expected of the deposit
                      examples:
                        - 1000
                        - 2000
                        - 3000
                    amount:
                      type: number
                      minimum: 0
                      description: Amount received of the deposit
                      examples:
                        - 1000
                        - 2000
                        - 3000
                    currency:
                      anyOf:
                        - type: string
                          enum:
                            - EUR
                            - USD
                            - GBP
                            - BRL
                            - MXN
                            - ARS
                            - COP
                            - PEN
                            - NGN
                            - KES
                            - TZS
                            - UGX
                            - RWF
                            - MWK
                            - ZMW
                            - XOF
                            - XAF
                            - BWP
                        - type: string
                          enum:
                            - USDC
                            - USDT
                            - CUSD
                            - BTC
                            - ETH
                            - POL
                            - SOL
                            - TRX
                            - AVAX
                            - XRP
                            - BNB
                      description: Currency of the deposit
                      examples:
                        - EUR
                        - BRL
                    fee:
                      type: number
                      minimum: 0
                      description: >-
                        Fee for the deposit. This value is written once the
                        deposit has been executed. Meanwhile it will appear 0.
                      example: 10
                    expectedFee:
                      type: number
                      minimum: 0
                      description: >-
                        Fee for the deposit. This value is correlated with the
                        expected amount for the deposit.
                      examples:
                        - 10
                        - 20
                        - 30
                    feeCurrency:
                      anyOf:
                        - type: string
                          enum:
                            - EUR
                            - USD
                            - GBP
                            - BRL
                            - MXN
                            - ARS
                            - COP
                            - PEN
                            - NGN
                            - KES
                            - TZS
                            - UGX
                            - RWF
                            - MWK
                            - ZMW
                            - XOF
                            - XAF
                            - BWP
                        - type: string
                          enum:
                            - USDC
                            - USDT
                            - CUSD
                            - BTC
                            - ETH
                            - POL
                            - SOL
                            - TRX
                            - AVAX
                            - XRP
                            - BNB
                      description: Currency of the fee
                      examples:
                        - EUR
                        - BRL
                    status:
                      anyOf:
                        - type: string
                          enum:
                            - Pending
                            - Processing
                            - Success
                            - Failed
                            - Canceled
                            - Reviewing
                          description: >-
                            Common status values that are shared across all
                            operation types
                          examples:
                            - Pending
                            - Processing
                            - Success
                            - Failed
                            - Canceled
                            - Reviewing
                        - type: string
                          enum:
                            - PendingCancel
                            - Received
                      description: Status of the deposit
                      examples:
                        - Pending
                        - Success
                        - Failed
                        - Received
                        - PendingCancel
                    depositInfo:
                      oneOf:
                        - type: object
                          properties:
                            accountHolder:
                              type: string
                              description: Name of the account holder
                              example: John Doe
                            iban:
                              type: string
                              description: SEPA Bank Account Number
                              example: DE8937XXXXXXXXXXXX3000
                            bic:
                              type: string
                              description: Bank BIC/SWIFT code
                              example: DEUTDEFF
                            bankName:
                              type: string
                              description: Name of the bank
                              example: Deutsche Bank
                            bankAddress:
                              type: string
                              description: Address of the bank
                              example: Taunusanlage 12
                            bankCity:
                              type: string
                              description: City of the bank
                              example: Frankfurt am Main
                            bankZipcode:
                              type: string
                              description: Zipcode of the bank
                              example: '60325'
                            bankCountry:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country of the bank
                              example: DE
                            depositType:
                              type: string
                              enum:
                                - SEPA
                            amount:
                              type: number
                              minimum: 0
                              description: >-
                                Expected deposit amount. It can be 0 for
                                open-amount bank transfers where the sender
                                chooses the final amount from their bank.
                              example: 1000
                            referenceCode:
                              type: string
                              minLength: 1
                              description: >-
                                A unique identifier for the deposit, crucial for
                                matching the deposit with the corresponding
                                order. The user must include this code when
                                making the deposit to ensure accurate
                                processing. In cases where the reference code is
                                incorrect or missing, we manually match orders
                                based on the sender's name and other available
                                details. In case the deposit is not matched, we
                                will mark the order as Reviewing and the system
                                will require manual attention.
                              example: REF123456
                            extraDepositMethods:
                              type: array
                              items:
                                type: object
                                properties:
                                  methodType:
                                    type: string
                                    enum:
                                      - HOSTED_CHECKOUT
                                    description: >-
                                      HOSTED_CHECKOUT: a hosted payment page to
                                      send the payer to (card). More types may
                                      be added — treat an unknown value as
                                      unsupported and fall back to the bank
                                      details in `depositInfo`.
                                  url:
                                    type: string
                                    description: >-
                                      URL to send the payer to. For
                                      HOSTED_CHECKOUT, redirect the payer here
                                      (or embed it) to pay by card.
                                    example: https://checkout.example.com/pay/abc123
                                  callbackUrl:
                                    type: string
                                    description: >-
                                      Where the payer’s BROWSER is returned
                                      after paying. Informational only: it is
                                      not a server-to-server notification, and a
                                      payer landing there is NOT proof of
                                      payment — rely on the deposit status or
                                      webhooks for that.
                                  referenceCode:
                                    type: string
                                    description: >-
                                      Payment reference for this method (equals
                                      the deposit/order reference)
                                  amount:
                                    type: number
                                    description: >-
                                      Amount payable via this method when it
                                      differs from the deposit amount (e.g. a
                                      method-specific surcharge)
                                  currency:
                                    type: string
                                    description: Currency of this method
                                  expiresAt:
                                    type: number
                                    description: >-
                                      Unix ms after which `url` is no longer
                                      valid, when known
                                required:
                                  - methodType
                                  - url
                                description: >-
                                  An additional, optional way to pay this
                                  deposit
                              description: >-
                                Additional, optional ways to pay this same
                                deposit (e.g. a hosted card page). The bank
                                details above remain the primary method; ignore
                                this field if you only support bank transfer.
                          required:
                            - depositType
                            - amount
                            - referenceCode
                          description: >-
                            Detailed information about a bank deposit, including
                            the amount and a unique reference code for
                            identification.
                        - type: object
                          properties:
                            address:
                              type: string
                              minLength: 1
                              description: Crypto wallet address
                              example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                            network:
                              type: string
                              enum:
                                - MATIC
                                - ETH
                                - CELO
                                - TRON
                                - BTC
                                - SOLANA
                                - XRP
                                - CARDANO
                                - BSC
                                - ARBITRUM
                                - OPTIMISM
                                - AVALANCHE
                                - BASE
                              description: Network for the deposit for crypto deposits
                              examples:
                                - ETH
                                - MATIC
                                - CELO
                            memo:
                              type: string
                              description: Optional memo for the transaction
                              example: Payment for services
                            depositType:
                              type: string
                              enum:
                                - CRYPTO
                            qrCode:
                              type: string
                              description: Base64-encoded QR image for the deposit address
                              example: >-
                                iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                            qrCodeUrl:
                              type: string
                              format: uri
                              description: 7-day signed GCS URL of the QR code PNG
                            qrCodeExpiresAt:
                              type: number
                              description: Unix timestamp (ms) when qrCodeUrl expires
                            receivingAddress:
                              type: string
                              description: The wallet address where funds should be sent
                              example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                            tokenContract:
                              type: string
                              description: The ERC20 token contract address
                              example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                            decimals:
                              type: number
                              description: Token decimals (default 18)
                              example: 18
                          required:
                            - address
                            - network
                            - depositType
                          description: Crypto Deposit Information
                        - type: object
                          properties:
                            base64QRCode:
                              type: string
                              minLength: 1
                              description: Base64 encoded QR code
                              example: base64QRCode
                            qrCodeString:
                              type: string
                              minLength: 1
                              description: >-
                                The Pix copy-and-paste code (BR Code payload)
                                the payer pastes into their bank app. Pass it
                                through unchanged — it carries its own checksum.
                              example: qrCodeString
                            referenceCode:
                              type: string
                              minLength: 1
                              description: >-
                                A unique identifier for the deposit, crucial for
                                matching the deposit with the corresponding
                                order
                              example: REF123456
                            amount:
                              type: number
                              minimum: 0
                              exclusiveMinimum: true
                              description: >-
                                The monetary value to be deposited into the
                                bank. This amount should be positive and
                                accurately reflect the intended deposit.
                              example: 1000
                            depositType:
                              type: string
                              enum:
                                - PIX
                          required:
                            - base64QRCode
                            - qrCodeString
                            - referenceCode
                            - amount
                            - depositType
                          description: Pix Deposit Information
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - CREDIT_CARD
                          required:
                            - depositType
                        - type: object
                          properties:
                            bankName:
                              type: string
                              description: >-
                                Name of the bank (present when the rail provides
                                it)
                            accountHolder:
                              type: string
                              description: >-
                                Name of the account holder (present when the
                                rail provides it)
                            clabe:
                              type: string
                              description: CLABE number
                            accountNumber:
                              type: string
                              description: >-
                                Bank account number (e.g. from the BANK_TRANSFER
                                payment method)
                            reference:
                              type: string
                              description: >-
                                Payment reference (e.g. from the BANK_TRANSFER
                                payment method)
                            depositType:
                              type: string
                              enum:
                                - CLABE
                              description: Type of the deposit
                          required:
                            - clabe
                            - depositType
                        - type: object
                          properties:
                            url:
                              type: string
                              description: URL of the PSE payment
                            amountPrefilled:
                              type: boolean
                              description: >-
                                Whether the payment page already carries the
                                amount. When false or absent, the payer must
                                enter it.
                            depositType:
                              type: string
                              enum:
                                - PSE
                              description: Type of the deposit
                          required:
                            - url
                            - depositType
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BALANCE
                          required:
                            - depositType
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - PENDING
                            currency:
                              type: string
                              description: Currency of the deposit
                            referenceCode:
                              type: string
                              description: Reference code for the order/deposit
                            amount:
                              type: number
                              minimum: 0
                              description: >-
                                Expected deposit amount. It can be 0 while bank
                                transfer details are open-amount or still being
                                provisioned.
                            extraDepositMethods:
                              type: array
                              items:
                                type: object
                                properties:
                                  methodType:
                                    type: string
                                    enum:
                                      - HOSTED_CHECKOUT
                                    description: >-
                                      HOSTED_CHECKOUT: a hosted payment page to
                                      send the payer to (card). More types may
                                      be added — treat an unknown value as
                                      unsupported and fall back to the bank
                                      details in `depositInfo`.
                                  url:
                                    type: string
                                    description: >-
                                      URL to send the payer to. For
                                      HOSTED_CHECKOUT, redirect the payer here
                                      (or embed it) to pay by card.
                                    example: https://checkout.example.com/pay/abc123
                                  callbackUrl:
                                    type: string
                                    description: >-
                                      Where the payer’s BROWSER is returned
                                      after paying. Informational only: it is
                                      not a server-to-server notification, and a
                                      payer landing there is NOT proof of
                                      payment — rely on the deposit status or
                                      webhooks for that.
                                  referenceCode:
                                    type: string
                                    description: >-
                                      Payment reference for this method (equals
                                      the deposit/order reference)
                                  amount:
                                    type: number
                                    description: >-
                                      Amount payable via this method when it
                                      differs from the deposit amount (e.g. a
                                      method-specific surcharge)
                                  currency:
                                    type: string
                                    description: Currency of this method
                                  expiresAt:
                                    type: number
                                    description: >-
                                      Unix ms after which `url` is no longer
                                      valid, when known
                                required:
                                  - methodType
                                  - url
                                description: >-
                                  An additional, optional way to pay this
                                  deposit
                              description: >-
                                Additional ways to pay while the bank details
                                are being provisioned (e.g. a hosted card page).
                                Optional — ignore it and wait for the bank
                                details if you only support bank transfer.
                            pendingReason:
                              type: string
                              enum:
                                - collection_account_activating
                                - accountless_per_account_corridor
                              description: >-
                                Why the instructions are still being
                                provisioned, when the reason is known.
                                `collection_account_activating` means the
                                collection account for this payer is being
                                activated and payable details are expected
                                shortly. `accountless_per_account_corridor`
                                means this corridor collects only into a
                                collection account dedicated to the paying
                                account, this request names no account, and none
                                can be created for it — so payable details will
                                NOT arrive by waiting; create the deposit
                                against an account instead. Absence never
                                conveys timing on either surface: here it means
                                only that no reason is classifiable, and an
                                account-level deposit-method instruction never
                                carries the field at all. Treat the values as an
                                open set and ignore any you do not recognise.
                          required:
                            - depositType
                            - currency
                            - referenceCode
                            - amount
                          description: >-
                            Deposit details are being provisioned; poll the
                            order/deposit or wait for webhook
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - IMPS
                            accountNumber:
                              type: string
                              description: Account number
                            bankName:
                              type: string
                              description: Name of the bank
                            accountHolder:
                              type: string
                              description: Name of the account holder
                            ifsc:
                              type: string
                              description: ifsc number
                            type:
                              type: string
                              description: Type of the deposit
                            branch:
                              type: string
                              description: Branch of the bank
                            bank:
                              type: string
                              description: Bank of the account
                            otp:
                              type: string
                              description: OTP of the deposit
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - accountNumber
                            - bankName
                            - accountHolder
                            - ifsc
                            - type
                            - branch
                            - bank
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - UPI
                            vpa:
                              type: string
                              description: Virtual Payment Address
                            name:
                              type: string
                              description: Name of the account holder
                            otp:
                              type: string
                              description: OTP for the transaction
                            paymentLink:
                              type: string
                              description: Payment link
                            upiNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional UPI instructions
                          required:
                            - depositType
                            - vpa
                            - name
                            - otp
                            - paymentLink
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - AED_BANK_TRANSFER
                            iban:
                              type: string
                              description: International Bank Account Number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            type:
                              type: string
                              description: Account type
                            address:
                              type: string
                              description: Bank address
                            email:
                              type: string
                              description: Contact email
                            phoneNumber:
                              type: string
                              description: Contact phone number
                            transferCode:
                              type: string
                              description: Transfer code
                            poBox:
                              type: string
                              description: P.O. Box
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - iban
                            - name
                            - bank
                            - type
                            - address
                            - email
                            - phoneNumber
                            - transferCode
                            - poBox
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - SPEI
                            clabe:
                              type: string
                              description: CLABE number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - clabe
                            - name
                            - bank
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - TRY_BANK_TRANSFER
                            iban:
                              type: string
                              description: International Bank Account Number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - iban
                            - name
                            - bank
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - IDR_BANK_TRANSFER
                            virtualAccount:
                              type: string
                              description: Virtual account number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - virtualAccount
                            - name
                            - bank
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - THAI_QR
                            qrCode:
                              type: string
                              description: QR code
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - qrCode
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - VIET_QR
                            qrCode:
                              type: string
                              description: QR code
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - qrCode
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - GCASH
                            qrCode:
                              type: string
                              description: QR code
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - qrCode
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - ARGENTINA_BANK_TRANSFER
                            accountNumber:
                              type: string
                              description: Account number
                            accountHolder:
                              type: string
                              description: Account holder name
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - accountNumber
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - ACH_US
                            routingNumber:
                              type: string
                              description: US bank ABA routing number
                            accountNumber:
                              type: string
                              description: US bank account number
                            beneficiaryName:
                              type: string
                              description: Beneficiary name on the account
                            bankName:
                              type: string
                              description: Name of the bank
                            bankAddress:
                              type: string
                              description: Address of the bank
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names (e.g. ACH, Wire)
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount in USD
                            referenceCode:
                              type: string
                              minLength: 1
                              description: >-
                                Reference code to include in the wire/ACH
                                transfer
                          required:
                            - depositType
                            - routingNumber
                            - accountNumber
                            - beneficiaryName
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - ACH_PULL
                          required:
                            - depositType
                          description: >-
                            Funds are pulled from the holder's own linked US
                            bank account; no transfer instructions apply
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - LOCALBANK
                              description: >-
                                Deprecated generic local-bank payin type.
                                Superseded by the corridor-specific deposit
                                types (e.g. SEPA, ACH_US, GBP_BANK_TRANSFER,
                                CLABE/SPEI, PIX, ARGENTINA_BANK_TRANSFER,
                                BANK_DEPOSIT_<CC>). Still returned on some
                                corridors and on historical records, so
                                integrators must continue to handle it. Discover
                                the applicable per-currency method via GET
                                /v1/currencies/{currency}/payin-schema.
                              deprecated: true
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - GBP_BANK_TRANSFER
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: UK bank account number
                            sortCode:
                              type: string
                              description: UK sort code
                            bankName:
                              type: string
                              description: Name of the bank
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            schemes:
                              type: array
                              items:
                                type: string
                              description: >-
                                Accepted payment scheme names (e.g. Faster
                                Payments, CHAPS, BACS)
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount in GBP
                            referenceCode:
                              type: string
                              minLength: 1
                              description: Reference code to include in the transfer
                          required:
                            - depositType
                            - accountHolder
                            - accountNumber
                            - sortCode
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_COL
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CL
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BO
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BR
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_NG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_KE
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_GH
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZA
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TZ
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_UG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_RW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZM
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CD
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XOF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XAF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_NG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_KE
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_GH
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZA
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_TZ
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_UG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_RW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_MW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZM
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_BW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_CD
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_XOF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_XAF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                      description: Details of the deposit
                      examples:
                        - accountHolder: John Doe
                          iban: DE8937XXXXXXXXXXXX3000
                          bic: COBADEFFXXX
                          bankName: Commerzbank
                          bankAddress: Mainzer Landstrasse 151-153
                          bankCity: Frankfurt
                          bankZipcode: '60327'
                          bankCountry: DE
                          amount: 1000
                          referenceCode: ABC123
                          depositType: SEPA
                    depositInfoPending:
                      type: boolean
                      description: >-
                        True while the payment instructions are still being
                        prepared. Poll this deposit until it is false (or
                        absent) before showing the instructions to the payer.
                    complianceHold:
                      type: object
                      properties:
                        reason:
                          type: string
                          enum:
                            - screening
                            - fiat_monitoring
                          description: Compliance hold reason
                      required:
                        - reason
                      description: >-
                        Present while the inbound transfer funding this deposit
                        is held in provider compliance review. The deposit stays
                        Reviewing (amount 0, never credited) until the hold
                        clears (promote to Received) or the transfer is
                        rejected/returned (terminalize).
                  required:
                    - depositId
                    - createdAt
                    - expectedAmount
                    - amount
                    - currency
                    - fee
                    - expectedFee
                    - feeCurrency
                    - status
                    - depositInfo
                  description: Details of the deposit associated with the order
                trade:
                  type: object
                  properties:
                    tradeId:
                      type: string
                      description: ID of the trade
                      example: 123e4567-e89b-12d3-a456-426614174000
                    createdAt:
                      type: number
                      description: Creation time of the trade
                      example: 1723027132
                    pair:
                      type: string
                      description: Asset pair to trade
                      example: BTC/EUR
                    tradeType:
                      type: string
                      enum:
                        - buy
                        - sell
                      description: Type of trade
                    volume:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: Order quantity in lots
                      example: 0.5
                    price:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: Price at which to place the order based on the pair
                      example: 30000
                    conversionRate:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: >-
                        Conversion rate at which to place the order based on the
                        pair
                      example: 30000
                    fee:
                      type: number
                      minimum: 0
                      description: Fee for the trade
                      example: 0.1
                    feeCurrency:
                      type: string
                      description: Currency of the fee
                      example: EUR
                    userEmail:
                      type: string
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the trade
                      example: user@example.com
                  required:
                    - tradeId
                    - createdAt
                    - pair
                    - tradeType
                    - volume
                    - fee
                    - feeCurrency
                    - userEmail
                  description: Details of the trade associated with the order
                withdraw:
                  type: object
                  properties:
                    withdrawalId:
                      anyOf:
                        - type: string
                          minLength: 12
                          maxLength: 12
                          pattern: ^[A-Z0-9]{12}$
                          examples:
                            - 01CLFXMT67II
                            - 2R7E5Y5KFXP8
                            - 4FWWRE3Y2URM
                        - type: string
                          format: uuid
                      description: ID of the withdrawal
                    userData:
                      oneOf:
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            lastName:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: >-
                                Last name of the user making the deposit (or
                                representative for business)
                              examples:
                                - Doe
                                - Smith
                                - Johnson
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - firstName
                            - userEmail
                            - country
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - business
                            businessName:
                              type: string
                              maxLength: 150
                              description: >-
                                Business name (required when userType is
                                business)
                              examples:
                                - Acme Corp
                                - Tech Solutions Inc
                                - Global Services Ltd
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - businessName
                            - firstName
                            - userEmail
                            - country
                      description: User data for the withdrawal
                    createdAt:
                      type: number
                      description: Creation time of the withdrawal
                      example: 1723027132
                    updatedAt:
                      type: number
                      description: Last update time of the withdrawal
                      example: 1723027132
                    userEmail:
                      type: string
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the request
                      example: user@example.com
                    amount:
                      type: number
                      description: >-
                        Amount to be withdrawn. This value is written once the
                        withdrawal has been executed. Meanwhile it will appear
                        0.
                      example: 1000
                    currency:
                      type: string
                      description: Currency of the withdrawal
                      example: EUR
                    fee:
                      type: number
                      description: >-
                        Fee for the withdrawal. This value is written once the
                        withdrawal has been executed. Meanwhile it will appear
                        0.
                      example: 10
                    feeCurrency:
                      type: string
                      description: Currency of the fee
                      example: EUR
                    destinationTransferData:
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BALANCE
                          required:
                            - type
                          description: Balance transfer details
                          title: Balance
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            iban:
                              type: string
                              description: IBAN number
                            bic:
                              type: string
                              description: BIC number (optional)
                            country:
                              type: string
                              description: Country code
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for SEPA payouts
                                — provide it here or in
                                destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for SEPA
                                payouts — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as the payout beneficiary
                                `address.line1` when registering the
                                beneficiary. Stored on the saved transaction
                                method so the user does not have to re-supply it
                                on every withdraw.
                            type:
                              type: string
                              enum:
                                - SEPA
                          required:
                            - destinationName
                            - iban
                            - country
                            - type
                          description: SEPA transfer details
                          title: SEPA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: UK bank account number
                            sortCode:
                              type: string
                              description: UK sort code
                            country:
                              type: string
                              enum:
                                - GB
                              default: GB
                              description: >-
                                ISO 3166 country code of the recipient (GBP
                                transfer is UK-based)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - GBP_BANK_TRANSFER
                          required:
                            - destinationName
                            - accountNumber
                            - sortCode
                            - type
                          description: GBP domestic bank transfer details
                          title: BankDepositGB
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: US bank account number
                            routingNumber:
                              type: string
                              description: US ABA routing number
                            country:
                              type: string
                              enum:
                                - US
                              default: US
                              description: >-
                                ISO 3166 country code of the recipient (ACH is
                                US-domestic)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            bankAccountType:
                              type: string
                              enum:
                                - CHECKING
                                - SAVINGS
                              default: CHECKING
                              description: >-
                                Kind of bank account the payout lands in.
                                Defaults to CHECKING when omitted.
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            state:
                              type: string
                              pattern: ^[A-Z]{2}$
                              description: >-
                                Two-letter US state code of the recipient (e.g.
                                NY). REQUIRED for this rail.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - ACH_US
                          required:
                            - destinationName
                            - accountNumber
                            - routingNumber
                            - state
                            - type
                          description: USD ACH transfer details
                          title: AchUS
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - linkedBankAccount
                            accountLinkId:
                              type: string
                              pattern: ^alnk_[0-9a-f]{24}$
                              description: >-
                                Identifier of one of the account holder own
                                linked bank accounts
                              examples:
                                - alnk_0123456789abcdef01234567
                          required:
                            - type
                            - accountLinkId
                          description: >-
                            A bank account the account holder linked beforehand.
                            Pays out only to the holder of the order; never to a
                            third party. Not available yet.
                          title: LinkedBankAccount
                          deprecated: true
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ETH
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ETH destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ETH
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - MATIC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: MATIC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: MATIC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOL
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOL destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOL
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - TRON
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: TRON destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: TRON
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CELO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CELO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: CELO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BTC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BTC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: BTC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOLANA
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOLANA destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOLANA
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - XRP
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: XRP destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: XRP
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CARDANO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CARDANO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: CARDANO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BSC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BSC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BSC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ARBITRUM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ARBITRUM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ARBITRUM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - OPTIMISM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: OPTIMISM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: OPTIMISM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - AVALANCHE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: AVALANCHE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: AVALANCHE
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BASE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BASE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BASE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/COP/networks. Not read by the
                                payout; retained for the network selector and
                                for stored records.
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_COL
                            destinationBankCode:
                              type: string
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                (the code, not the name). Required when creating
                                or updating a destination.
                            destinationBankAccountType:
                              type: string
                              description: >-
                                Bank account type — CORRIENTE or AHORRO.
                                Required when creating or updating a
                                destination.
                            destinationTaxId:
                              type: string
                              description: >-
                                Recipient ID document number. Required when
                                creating or updating a destination.
                            destinationDocumentType:
                              type: string
                              description: >-
                                Recipient ID document type — CC, CE, NIT, TI or
                                PP. Required when creating or updating a
                                destination.
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Colombian bank deposit details. Equivalent to
                            ACH_COP — same payout rail, same required fields,
                            same bank roster; ACH_COP is recommended for new
                            integrations. Note that BANK_DEPOSIT_COL is also the
                            name of a COP collection rail.
                          title: Bank Deposit COL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            brebKey:
                              type: string
                              minLength: 1
                              description: >-
                                Bre-B key (llave) that identifies the recipient
                                account
                            email:
                              type: string
                              description: >-
                                Recipient email (optional contact for the Bre-B
                                rail)
                            destinationPhoneNumber:
                              type: string
                              description: >-
                                Recipient phone number (optional contact for the
                                Bre-B rail)
                            type:
                              type: string
                              enum:
                                - BRE_B_COP
                          required:
                            - destinationName
                            - brebKey
                            - type
                          description: Colombian Bre-B payout details
                          title: Bre-B COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{4}$
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=achCOP
                                (the code, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              description: Recipient bank account number
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: Bank account type (e.g. AHORROS / CORRIENTE)
                            destinationDocumentType:
                              type: string
                              minLength: 1
                              description: Recipient ID document type (e.g. CC / CE / NIT)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: Recipient ID document number
                            type:
                              type: string
                              enum:
                                - ACH_COP
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationDocumentType
                            - destinationTaxId
                            - type
                          description: Colombian ACH payout details
                          title: ACH COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for TWD — no network
                                discovery)
                            destinationBankName:
                              type: string
                              minLength: 2
                              description: >-
                                Bank name (required — TWD payouts run over
                                SWIFT)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TW
                            destinationBankBranch:
                              type: string
                              minLength: 2
                              description: >-
                                Bank branch (required — TWD payouts run over
                                SWIFT)
                            bic:
                              type: string
                              pattern: >-
                                ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                              description: SWIFT BIC code (required for TWD payouts)
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient (legacy, optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankBranch
                            - bic
                          description: Taiwan bank deposit details (SWIFT payout)
                          title: Bank Deposit TW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankBranch:
                              type: string
                              description: Bank branch
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BR
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccount
                            - destinationBankBranch
                            - destinationTaxId
                            - type
                          description: Brazilian bank deposit details
                          title: Bank Deposit BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPixCode:
                              type: string
                              description: PIX code
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - PIX_BR
                          required:
                            - destinationName
                            - destinationPixCode
                            - destinationTaxId
                            - type
                          description: Brazilian PIX details
                          title: PIX BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number
                            destinationBankName:
                              type: string
                              description: Name of the bank
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - destinationBankName
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan bank deposit details
                          title: Bank Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - PHONE_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationPhoneNumber
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan phone deposit details
                          title: Phone Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_IN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - IMPS
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India IMPS details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: IMPS
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - THAI_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Thailand Thai QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Thai QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - VIET_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Vietnam Viet QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Viet QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - GCASH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Philippines GCash details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: GCash
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              description: Tax ID
                            type:
                              type: string
                              enum:
                                - MOBILE_PAYMENT_IN
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - destinationTaxId
                            - type
                          description: >-
                            India mobile payment details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Payment IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              description: Bank code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - type
                          description: >-
                            Vietnam bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit VN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            bic:
                              type: string
                              description: >-
                                SWIFT BIC code (required for HKD payouts via the
                                HK bank corridor)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city (defaults to Hong Kong)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_HK
                          required:
                            - destinationName
                            - destinationBankAccount
                            - bic
                            - destinationBankName
                            - destinationAddress
                            - type
                          description: Hong Kong bank deposit details (HKD bank corridor)
                          title: Bank Deposit HK
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              pattern: ^\d+$
                              description: >-
                                CNAPS / bank institution code (numeric, variable
                                length)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city
                            destinationState:
                              type: string
                              minLength: 1
                              description: >-
                                Province / state of the recipient (required for
                                CN — the beneficiary is rejected in compliance
                                review without it)
                            destinationPostcode:
                              type: string
                              minLength: 1
                              description: >-
                                Postal code of the recipient (required for CN —
                                the beneficiary is rejected in compliance review
                                without it)
                            destinationPhone:
                              type: string
                              description: >-
                                Phone number of the recipient, without country
                                prefix (optional; defaulted for CN when omitted)
                            destinationTaxId:
                              type: string
                              description: >-
                                Unified Social Credit Code (USCC, GB 32100-2015)
                                of the recipient company — 18 characters
                                including the check digit; whitespace is removed
                                and letters are normalized to uppercase
                                (optional)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - destinationBankName
                            - destinationAddress
                            - destinationCity
                            - destinationState
                            - destinationPostcode
                            - type
                          description: >-
                            China mainland bank deposit details (CNY bank
                            corridor)
                          title: Bank Deposit CN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/ARS/networks (the network
                                selector, optional)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_AR
                            destinationCBU:
                              type: string
                              description: >-
                                CBU — 22-digit bank account key (legacy,
                                optional)
                            destinationCVU:
                              type: string
                              description: >-
                                CVU — 22-digit virtual account key (legacy,
                                optional)
                            destinationAlias:
                              type: string
                              description: Account alias (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                CUIT/CUIL tax ID of the recipient (required when
                                creating ARS bank destinations): exactly 11
                                digits with no hyphens, spaces or other
                                characters, and a valid check digit (e.g.
                                20000000001)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Argentinian bank deposit details
                          title: Bank Deposit AR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              minLength: 1
                              description: >-
                                Recipient bank name (required for Chilean bank
                                payouts)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CL
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: >-
                                Account type — corriente or ahorro (required for
                                Chilean bank payouts)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: >-
                                RUT tax ID of the recipient (required for
                                Chilean bank payouts)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankAccountType
                            - destinationTaxId
                          description: Chilean bank deposit details
                          title: Bank Deposit CL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              minLength: 2
                              maxLength: 30
                              description: Recipient name (required, 2–30 characters)
                            destinationBankAccount:
                              type: string
                              minLength: 1
                              maxLength: 11
                              description: >-
                                Bank account number (max 11 digits for Bolivian
                                accounts)
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for BOB — no network
                                discovery)
                            destinationBankName:
                              type: string
                              maxLength: 20
                              description: Bank name (optional, max 20 characters)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BO
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 15
                              description: >-
                                NIT tax ID of the recipient (required for
                                Bolivian payouts)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                            - destinationTaxId
                          description: Bolivian bank deposit details
                          title: Bank Deposit BO
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/PEN/networks (the network
                                selector)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PE
                            destinationCCI:
                              type: string
                              description: >-
                                CCI — 20-digit interbank account code (legacy,
                                optional)
                            destinationBankAccountType:
                              type: string
                              description: >-
                                Account type (corriente/ahorro) (legacy,
                                optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                DNI/RUC document ID of the recipient (legacy,
                                optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationNetworkId
                            - type
                          description: >-
                            Peruvian bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit PE
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{3}$
                              description: >-
                                Recipient bank code (the 3-digit code the rail
                                expects, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              maxLength: 20
                              description: Recipient bank account number (max 20)
                            destinationBankAccountType:
                              type: string
                              enum:
                                - CORRIENTE
                                - AHORROS
                                - PHONE
                              description: Bank account type
                            destinationCCI:
                              type: string
                              pattern: ^\d{1,20}$
                              description: >-
                                CCI — Peruvian interbank code (required, digits
                                only, max 20)
                            destinationDocumentType:
                              type: string
                              enum:
                                - CC
                                - CE
                                - RUC
                                - PAS
                                - PAR
                                - LMI
                                - OTHER
                              description: Recipient identification type
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: Recipient identification number (max 50)
                            email:
                              type: string
                              pattern: ^.+@.+\..+$
                              description: Recipient email (required for PEN payouts)
                            destinationPhoneNumber:
                              type: string
                              pattern: ^\d{1,9}$
                              description: Recipient phone number (required, max 9 digits)
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationCCI
                            - destinationDocumentType
                            - destinationTaxId
                            - email
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Peruvian bank deposit details (bank-code payout
                            corridor).
                          title: Bank Deposit PEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_NG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Nigeria bank deposit details
                          title: Bank Deposit NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_KE
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Kenya bank deposit details
                          title: Bank Deposit KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_GH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Ghana bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZA
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: South Africa bank deposit details
                          title: Bank Deposit ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TZ
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Tanzania bank deposit details
                          title: Bank Deposit TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_UG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Uganda bank deposit details
                          title: Bank Deposit UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_RW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Rwanda bank deposit details
                          title: Bank Deposit RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Malawi bank deposit details
                          title: Bank Deposit MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZM
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Zambia bank deposit details
                          title: Bank Deposit ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Botswana bank deposit details
                          title: Bank Deposit BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CD
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            DR Congo bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XOF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: West African CFA bank deposit details
                          title: Bank Deposit XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XAF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Central African CFA bank deposit details
                          title: Bank Deposit XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_NG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Nigeria mobile money details
                          title: Mobile Money NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_KE
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Kenya mobile money details
                          title: Mobile Money KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_GH
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Ghana mobile money details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Money GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZA
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: South Africa mobile money details
                          title: Mobile Money ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_TZ
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Tanzania mobile money details
                          title: Mobile Money TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_UG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Uganda mobile money details
                          title: Mobile Money UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_RW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Rwanda mobile money details
                          title: Mobile Money RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_MW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Malawi mobile money details
                          title: Mobile Money MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZM
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Zambia mobile money details
                          title: Mobile Money ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_BW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Botswana mobile money details
                          title: Mobile Money BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_CD
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            DR Congo mobile money details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Mobile Money CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XOF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: West African CFA mobile money details
                          title: Mobile Money XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XAF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Central African CFA mobile money details
                          title: Mobile Money XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number (18-digit CLABE)
                            numericReference:
                              type: string
                              description: Numeric reference
                            notesReference:
                              type: string
                              description: Notes reference
                            destinationClabe:
                              type: string
                              description: >-
                                CLABE — legacy alias, prefer
                                destinationBankAccountNumber
                            destinationTaxId:
                              type: string
                              description: >-
                                Recipient tax id (RFC) — required by some MX
                                bank-deposit rails ("Número de Identificación");
                                optional otherwise
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MX
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - type
                          description: Mexican bank deposit details
                          title: Bank Deposit MX
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPseNumber:
                              type: string
                              description: PSE number
                            type:
                              type: string
                              enum:
                                - PSE
                          required:
                            - destinationName
                            - destinationPseNumber
                            - type
                          description: >-
                            PSE transfer details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: PSE
                          deprecated: true
                      description: >-
                        The details required for the end user destination
                        transfer method.
                    status:
                      anyOf:
                        - type: string
                          enum:
                            - Pending
                            - Processing
                            - Success
                            - Failed
                            - Canceled
                            - Reviewing
                          description: >-
                            Common status values that are shared across all
                            operation types
                          examples:
                            - Pending
                            - Processing
                            - Success
                            - Failed
                            - Canceled
                            - Reviewing
                        - type: string
                          enum:
                            - PendingCancel
                            - PendingWithdrawal
                            - PendingVerification
                            - Pending2FA
                            - Compliance
                            - Accepted
                            - Approved
                            - Rejected
                            - Review
                      description: Status of the withdrawal
                      examples:
                        - Pending
                        - Pending2FA
                        - Compliance
                        - Accepted
                        - Approved
                        - Success
                        - Failed
                        - Review
                        - Rejected
                    withdrawalInfo:
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BALANCE
                          required:
                            - type
                          description: Balance transfer details
                          title: Balance
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            iban:
                              type: string
                              description: IBAN number
                            bic:
                              type: string
                              description: BIC number (optional)
                            country:
                              type: string
                              description: Country code
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for SEPA payouts
                                — provide it here or in
                                destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for SEPA
                                payouts — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as the payout beneficiary
                                `address.line1` when registering the
                                beneficiary. Stored on the saved transaction
                                method so the user does not have to re-supply it
                                on every withdraw.
                            type:
                              type: string
                              enum:
                                - SEPA
                          required:
                            - destinationName
                            - iban
                            - country
                            - type
                          description: SEPA transfer details
                          title: SEPA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: UK bank account number
                            sortCode:
                              type: string
                              description: UK sort code
                            country:
                              type: string
                              enum:
                                - GB
                              default: GB
                              description: >-
                                ISO 3166 country code of the recipient (GBP
                                transfer is UK-based)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - GBP_BANK_TRANSFER
                          required:
                            - destinationName
                            - accountNumber
                            - sortCode
                            - type
                          description: GBP domestic bank transfer details
                          title: BankDepositGB
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: US bank account number
                            routingNumber:
                              type: string
                              description: US ABA routing number
                            country:
                              type: string
                              enum:
                                - US
                              default: US
                              description: >-
                                ISO 3166 country code of the recipient (ACH is
                                US-domestic)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            bankAccountType:
                              type: string
                              enum:
                                - CHECKING
                                - SAVINGS
                              default: CHECKING
                              description: >-
                                Kind of bank account the payout lands in.
                                Defaults to CHECKING when omitted.
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            state:
                              type: string
                              pattern: ^[A-Z]{2}$
                              description: >-
                                Two-letter US state code of the recipient (e.g.
                                NY). REQUIRED for this rail.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - ACH_US
                          required:
                            - destinationName
                            - accountNumber
                            - routingNumber
                            - state
                            - type
                          description: USD ACH transfer details
                          title: AchUS
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - linkedBankAccount
                            accountLinkId:
                              type: string
                              pattern: ^alnk_[0-9a-f]{24}$
                              description: >-
                                Identifier of one of the account holder own
                                linked bank accounts
                              examples:
                                - alnk_0123456789abcdef01234567
                          required:
                            - type
                            - accountLinkId
                          description: >-
                            A bank account the account holder linked beforehand.
                            Pays out only to the holder of the order; never to a
                            third party. Not available yet.
                          title: LinkedBankAccount
                          deprecated: true
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ETH
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ETH destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ETH
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - MATIC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: MATIC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: MATIC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOL
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOL destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOL
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - TRON
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: TRON destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: TRON
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CELO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CELO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: CELO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BTC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BTC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: BTC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOLANA
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOLANA destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOLANA
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - XRP
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: XRP destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: XRP
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CARDANO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CARDANO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: CARDANO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BSC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BSC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BSC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ARBITRUM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ARBITRUM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ARBITRUM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - OPTIMISM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: OPTIMISM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: OPTIMISM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - AVALANCHE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: AVALANCHE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: AVALANCHE
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BASE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BASE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BASE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/COP/networks. Not read by the
                                payout; retained for the network selector and
                                for stored records.
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_COL
                            destinationBankCode:
                              type: string
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                (the code, not the name). Required when creating
                                or updating a destination.
                            destinationBankAccountType:
                              type: string
                              description: >-
                                Bank account type — CORRIENTE or AHORRO.
                                Required when creating or updating a
                                destination.
                            destinationTaxId:
                              type: string
                              description: >-
                                Recipient ID document number. Required when
                                creating or updating a destination.
                            destinationDocumentType:
                              type: string
                              description: >-
                                Recipient ID document type — CC, CE, NIT, TI or
                                PP. Required when creating or updating a
                                destination.
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Colombian bank deposit details. Equivalent to
                            ACH_COP — same payout rail, same required fields,
                            same bank roster; ACH_COP is recommended for new
                            integrations. Note that BANK_DEPOSIT_COL is also the
                            name of a COP collection rail.
                          title: Bank Deposit COL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            brebKey:
                              type: string
                              minLength: 1
                              description: >-
                                Bre-B key (llave) that identifies the recipient
                                account
                            email:
                              type: string
                              description: >-
                                Recipient email (optional contact for the Bre-B
                                rail)
                            destinationPhoneNumber:
                              type: string
                              description: >-
                                Recipient phone number (optional contact for the
                                Bre-B rail)
                            type:
                              type: string
                              enum:
                                - BRE_B_COP
                          required:
                            - destinationName
                            - brebKey
                            - type
                          description: Colombian Bre-B payout details
                          title: Bre-B COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{4}$
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=achCOP
                                (the code, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              description: Recipient bank account number
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: Bank account type (e.g. AHORROS / CORRIENTE)
                            destinationDocumentType:
                              type: string
                              minLength: 1
                              description: Recipient ID document type (e.g. CC / CE / NIT)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: Recipient ID document number
                            type:
                              type: string
                              enum:
                                - ACH_COP
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationDocumentType
                            - destinationTaxId
                            - type
                          description: Colombian ACH payout details
                          title: ACH COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for TWD — no network
                                discovery)
                            destinationBankName:
                              type: string
                              minLength: 2
                              description: >-
                                Bank name (required — TWD payouts run over
                                SWIFT)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TW
                            destinationBankBranch:
                              type: string
                              minLength: 2
                              description: >-
                                Bank branch (required — TWD payouts run over
                                SWIFT)
                            bic:
                              type: string
                              pattern: >-
                                ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                              description: SWIFT BIC code (required for TWD payouts)
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient (legacy, optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankBranch
                            - bic
                          description: Taiwan bank deposit details (SWIFT payout)
                          title: Bank Deposit TW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankBranch:
                              type: string
                              description: Bank branch
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BR
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccount
                            - destinationBankBranch
                            - destinationTaxId
                            - type
                          description: Brazilian bank deposit details
                          title: Bank Deposit BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPixCode:
                              type: string
                              description: PIX code
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - PIX_BR
                          required:
                            - destinationName
                            - destinationPixCode
                            - destinationTaxId
                            - type
                          description: Brazilian PIX details
                          title: PIX BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number
                            destinationBankName:
                              type: string
                              description: Name of the bank
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - destinationBankName
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan bank deposit details
                          title: Bank Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - PHONE_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationPhoneNumber
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan phone deposit details
                          title: Phone Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_IN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - IMPS
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India IMPS details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: IMPS
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - THAI_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Thailand Thai QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Thai QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - VIET_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Vietnam Viet QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Viet QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - GCASH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Philippines GCash details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: GCash
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              description: Tax ID
                            type:
                              type: string
                              enum:
                                - MOBILE_PAYMENT_IN
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - destinationTaxId
                            - type
                          description: >-
                            India mobile payment details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Payment IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              description: Bank code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - type
                          description: >-
                            Vietnam bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit VN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            bic:
                              type: string
                              description: >-
                                SWIFT BIC code (required for HKD payouts via the
                                HK bank corridor)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city (defaults to Hong Kong)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_HK
                          required:
                            - destinationName
                            - destinationBankAccount
                            - bic
                            - destinationBankName
                            - destinationAddress
                            - type
                          description: Hong Kong bank deposit details (HKD bank corridor)
                          title: Bank Deposit HK
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              pattern: ^\d+$
                              description: >-
                                CNAPS / bank institution code (numeric, variable
                                length)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city
                            destinationState:
                              type: string
                              minLength: 1
                              description: >-
                                Province / state of the recipient (required for
                                CN — the beneficiary is rejected in compliance
                                review without it)
                            destinationPostcode:
                              type: string
                              minLength: 1
                              description: >-
                                Postal code of the recipient (required for CN —
                                the beneficiary is rejected in compliance review
                                without it)
                            destinationPhone:
                              type: string
                              description: >-
                                Phone number of the recipient, without country
                                prefix (optional; defaulted for CN when omitted)
                            destinationTaxId:
                              type: string
                              description: >-
                                Unified Social Credit Code (USCC, GB 32100-2015)
                                of the recipient company — 18 characters
                                including the check digit; whitespace is removed
                                and letters are normalized to uppercase
                                (optional)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - destinationBankName
                            - destinationAddress
                            - destinationCity
                            - destinationState
                            - destinationPostcode
                            - type
                          description: >-
                            China mainland bank deposit details (CNY bank
                            corridor)
                          title: Bank Deposit CN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/ARS/networks (the network
                                selector, optional)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_AR
                            destinationCBU:
                              type: string
                              description: >-
                                CBU — 22-digit bank account key (legacy,
                                optional)
                            destinationCVU:
                              type: string
                              description: >-
                                CVU — 22-digit virtual account key (legacy,
                                optional)
                            destinationAlias:
                              type: string
                              description: Account alias (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                CUIT/CUIL tax ID of the recipient (required when
                                creating ARS bank destinations): exactly 11
                                digits with no hyphens, spaces or other
                                characters, and a valid check digit (e.g.
                                20000000001)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Argentinian bank deposit details
                          title: Bank Deposit AR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              minLength: 1
                              description: >-
                                Recipient bank name (required for Chilean bank
                                payouts)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CL
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: >-
                                Account type — corriente or ahorro (required for
                                Chilean bank payouts)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: >-
                                RUT tax ID of the recipient (required for
                                Chilean bank payouts)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankAccountType
                            - destinationTaxId
                          description: Chilean bank deposit details
                          title: Bank Deposit CL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              minLength: 2
                              maxLength: 30
                              description: Recipient name (required, 2–30 characters)
                            destinationBankAccount:
                              type: string
                              minLength: 1
                              maxLength: 11
                              description: >-
                                Bank account number (max 11 digits for Bolivian
                                accounts)
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for BOB — no network
                                discovery)
                            destinationBankName:
                              type: string
                              maxLength: 20
                              description: Bank name (optional, max 20 characters)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BO
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 15
                              description: >-
                                NIT tax ID of the recipient (required for
                                Bolivian payouts)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                            - destinationTaxId
                          description: Bolivian bank deposit details
                          title: Bank Deposit BO
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/PEN/networks (the network
                                selector)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PE
                            destinationCCI:
                              type: string
                              description: >-
                                CCI — 20-digit interbank account code (legacy,
                                optional)
                            destinationBankAccountType:
                              type: string
                              description: >-
                                Account type (corriente/ahorro) (legacy,
                                optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                DNI/RUC document ID of the recipient (legacy,
                                optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationNetworkId
                            - type
                          description: >-
                            Peruvian bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit PE
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{3}$
                              description: >-
                                Recipient bank code (the 3-digit code the rail
                                expects, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              maxLength: 20
                              description: Recipient bank account number (max 20)
                            destinationBankAccountType:
                              type: string
                              enum:
                                - CORRIENTE
                                - AHORROS
                                - PHONE
                              description: Bank account type
                            destinationCCI:
                              type: string
                              pattern: ^\d{1,20}$
                              description: >-
                                CCI — Peruvian interbank code (required, digits
                                only, max 20)
                            destinationDocumentType:
                              type: string
                              enum:
                                - CC
                                - CE
                                - RUC
                                - PAS
                                - PAR
                                - LMI
                                - OTHER
                              description: Recipient identification type
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: Recipient identification number (max 50)
                            email:
                              type: string
                              pattern: ^.+@.+\..+$
                              description: Recipient email (required for PEN payouts)
                            destinationPhoneNumber:
                              type: string
                              pattern: ^\d{1,9}$
                              description: Recipient phone number (required, max 9 digits)
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationCCI
                            - destinationDocumentType
                            - destinationTaxId
                            - email
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Peruvian bank deposit details (bank-code payout
                            corridor).
                          title: Bank Deposit PEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_NG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Nigeria bank deposit details
                          title: Bank Deposit NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_KE
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Kenya bank deposit details
                          title: Bank Deposit KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_GH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Ghana bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZA
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: South Africa bank deposit details
                          title: Bank Deposit ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TZ
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Tanzania bank deposit details
                          title: Bank Deposit TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_UG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Uganda bank deposit details
                          title: Bank Deposit UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_RW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Rwanda bank deposit details
                          title: Bank Deposit RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Malawi bank deposit details
                          title: Bank Deposit MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZM
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Zambia bank deposit details
                          title: Bank Deposit ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Botswana bank deposit details
                          title: Bank Deposit BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CD
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            DR Congo bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XOF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: West African CFA bank deposit details
                          title: Bank Deposit XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XAF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Central African CFA bank deposit details
                          title: Bank Deposit XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_NG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Nigeria mobile money details
                          title: Mobile Money NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_KE
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Kenya mobile money details
                          title: Mobile Money KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_GH
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Ghana mobile money details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Money GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZA
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: South Africa mobile money details
                          title: Mobile Money ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_TZ
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Tanzania mobile money details
                          title: Mobile Money TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_UG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Uganda mobile money details
                          title: Mobile Money UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_RW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Rwanda mobile money details
                          title: Mobile Money RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_MW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Malawi mobile money details
                          title: Mobile Money MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZM
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Zambia mobile money details
                          title: Mobile Money ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_BW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Botswana mobile money details
                          title: Mobile Money BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_CD
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            DR Congo mobile money details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Mobile Money CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XOF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: West African CFA mobile money details
                          title: Mobile Money XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XAF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Central African CFA mobile money details
                          title: Mobile Money XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number (18-digit CLABE)
                            numericReference:
                              type: string
                              description: Numeric reference
                            notesReference:
                              type: string
                              description: Notes reference
                            destinationClabe:
                              type: string
                              description: >-
                                CLABE — legacy alias, prefer
                                destinationBankAccountNumber
                            destinationTaxId:
                              type: string
                              description: >-
                                Recipient tax id (RFC) — required by some MX
                                bank-deposit rails ("Número de Identificación");
                                optional otherwise
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MX
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - type
                          description: Mexican bank deposit details
                          title: Bank Deposit MX
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPseNumber:
                              type: string
                              description: PSE number
                            type:
                              type: string
                              enum:
                                - PSE
                          required:
                            - destinationName
                            - destinationPseNumber
                            - type
                          description: >-
                            PSE transfer details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: PSE
                          deprecated: true
                      description: Detailed withdrawal information
                      title: WithdrawalInfo
                    source:
                      type: string
                      enum:
                        - ui
                        - apiApp
                        - externalApi
                        - internal
                      description: Source of withdrawal creation
                      example: externalApi
                    requires2FA:
                      type: boolean
                      description: Whether 2FA is required for this withdrawal
                      example: false
                    twoFactorToken:
                      type: string
                      description: 2FA token for email approval
                      example: abc123
                    twoFactorApprovedAt:
                      type: number
                      description: Timestamp when 2FA was approved
                      example: 1723027132
                    errorCode:
                      type: string
                      description: Error code when status is Review
                      example: INSUFFICIENT_BALANCE
                    errorDetails:
                      type: string
                      description: Detailed error information
                      example: Insufficient balance for withdrawal
                    reviewedBy:
                      type: string
                      description: Admin email who reviewed the withdrawal
                      example: admin@example.com
                    reviewedAt:
                      type: number
                      description: Timestamp when review happened
                      example: 1723027132
                  required:
                    - withdrawalId
                    - createdAt
                    - amount
                    - currency
                    - fee
                    - feeCurrency
                    - status
                  description: Details of the withdrawal associated with the order
                createdAt:
                  type: number
                  description: Creation time of the order (timestamp)
                  examples:
                    - 1723027132
                    - 1723027200
                    - 1723027300
                updatedAt:
                  type: number
                  description: Last update time of the order (timestamp)
                  examples:
                    - 1723027132
                    - 1723027200
                    - 1723027300
                status:
                  type: string
                  enum:
                    - Pending
                    - Processing
                    - Reviewing
                    - Success
                    - Failed
                    - Canceled
                  description: Current status of the order
                  title: OrderStatus
                  examples:
                    - Pending
                    - Processing
                    - Reviewing
                    - Success
                    - Failed
                externalReference:
                  type: string
                  description: >-
                    External reference of the order, as you supplied it on
                    create.
                externalRefeference:
                  type: string
                  description: >-
                    Deprecated misspelling of `externalReference` — same value.
                    Read `externalReference` instead; this key remains for
                    backward compatibility and will be removed in a future major
                    version.
                  deprecated: true
                fee:
                  type: number
                  minimum: 0
                  description: Total fee for the order once all the execution is completed
                  examples:
                    - 6.37
                    - 8.5
                    - 10.25
                expectedFee:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: Expected fee given the initial deposit amount
                  examples:
                    - 6.88
                    - 9.2
                    - 11.5
                expectedGasFee:
                  type: number
                  description: Expected gas fee if the withdrawal is with crypto
                  examples:
                    - 6.88
                    - 8.5
                    - 10.25
                feeCurrency:
                  type: string
                  description: Currency of the fee
                  examples:
                    - EUR
                    - USD
                    - GBP
              required:
                - orderId
                - createdAt
                - status
                - fee
                - expectedFee
                - feeCurrency
              description: Data for order status update event
            - type: object
              properties:
                orderId:
                  type: string
                  description: Order ID related to the OpenBanking payment
                webFormId:
                  type: string
                  description: Hosted open-banking session id
                status:
                  type: string
                  description: Current session status from the banking flow
                payload:
                  nullable: true
                  description: Raw payload from the open-banking callback
              required:
                - orderId
              description: Data for OpenBanking status update event
              example:
                orderId: order_12345
                webFormId: wf_abc123
                status: COMPLETED
                payload:
                  raw: ...callback payload...
            - type: object
              properties:
                customerEmail:
                  type: string
                kycStatus:
                  type: string
                  enum:
                    - approved
                firstName:
                  type: string
                lastName:
                  type: string
                name:
                  type: string
                entityId:
                  type: string
                kycApproved:
                  type: boolean
                  enum:
                    - true
                timestamp:
                  type: number
              required:
                - customerEmail
                - kycStatus
                - firstName
                - lastName
                - name
                - entityId
                - kycApproved
                - timestamp
              description: >-
                Only used with deprecated `type` `kyc_completed`. Prefer
                `verification_status_updated` payloads for new integrations.
              deprecated: true
              example:
                customerEmail: user@example.com
                kycStatus: approved
                firstName: Jane
                lastName: Doe
                name: Jane Doe
                entityId: entity-1
                kycApproved: true
                timestamp: 1710000000000
            - type: object
              properties:
                eventId:
                  type: string
                occurredAt:
                  type: number
                verificationType:
                  type: string
                  enum:
                    - KYC
                customerEmail:
                  type: string
                  minLength: 1
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email address
                entityId:
                  type: string
                status:
                  type: string
                  enum:
                    - PENDING
                    - REVIEWING
                    - IN_PROGRESS
                    - APPROVED
                    - REJECTED
                    - NOT_AVAILABLE
                previousStatus:
                  type: string
                  enum:
                    - PENDING
                    - REVIEWING
                    - IN_PROGRESS
                    - APPROVED
                    - REJECTED
                    - NOT_AVAILABLE
              required:
                - eventId
                - occurredAt
                - verificationType
                - customerEmail
                - entityId
                - status
            - type: object
              properties:
                eventId:
                  type: string
                occurredAt:
                  type: number
                verificationType:
                  type: string
                  enum:
                    - KYB
                emails:
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 254
                    format: email
                    pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                    description: Email address
                entityId:
                  type: string
                status:
                  type: string
                  enum:
                    - DRAFT
                    - PENDING_REVIEW
                    - APPROVED
                    - REJECTED
                previousStatus:
                  type: string
                  enum:
                    - DRAFT
                    - PENDING_REVIEW
                    - APPROVED
                    - REJECTED
              required:
                - eventId
                - occurredAt
                - verificationType
                - emails
                - entityId
                - status
            - type: object
              properties:
                id:
                  type: string
                  description: Stable, deterministic event id — deduplicate on this value.
                  example: conversation:conv_123:message_created:msg_456
                type:
                  type: string
                  description: Webhook event category (mirrors the top-level `type`).
                api_version:
                  type: string
                  description: API version of the webhook event.
                workspaceId:
                  type: string
                  description: Workspace that owns the conversation.
                resourceType:
                  type: string
                  enum:
                    - conversation
                resourceId:
                  type: string
                  description: Conversation id.
                messageId:
                  type: string
                  description: Present only on `conversation_message_created`.
                status:
                  anyOf:
                    - type: string
                      enum:
                        - open
                    - type: string
                      enum:
                        - pending_support
                    - type: string
                      enum:
                        - pending_account
                    - type: string
                      enum:
                        - closed
                  description: >-
                    Neutral conversation lifecycle status at the time of the
                    event (internal operator vocabulary is never exposed).
                senderType:
                  anyOf:
                    - type: string
                      enum:
                        - account
                    - type: string
                      enum:
                        - support
                    - type: string
                      enum:
                        - system
                  description: Neutral sender label of the last/triggering message.
                occurredAt:
                  type: number
                  description: Epoch millis when the canonical change occurred.
              required:
                - id
                - type
                - api_version
                - workspaceId
                - resourceType
                - resourceId
                - status
                - senderType
                - occurredAt
              description: >-
                Data for conversation_created / conversation_updated /
                conversation_message_created events
              example:
                id: conversation:conv_123:message_created:msg_456
                type: conversation_message_created
                api_version: '1.0'
                workspaceId: ws_abc
                resourceType: conversation
                resourceId: conv_123
                messageId: msg_456
                status: open
                senderType: support
                occurredAt: 1723027132000
            - type: object
              properties:
                eventId:
                  type: string
                  description: Unique per notification; use it to deduplicate.
                occurredAt:
                  type: number
                  description: Unix epoch milliseconds.
                workspaceId:
                  type: string
                resourceType:
                  type: string
                  enum:
                    - deposit_hold
                resourceId:
                  type: string
                  description: The deposit hold id (`holdId`).
                reason:
                  type: string
                  enum:
                    - travel_rule_origin
                action:
                  type: string
                  enum:
                    - declare_origin
                reminder:
                  type: boolean
                  description: '`true` when this repeats an earlier notice.'
                hold:
                  type: object
                  properties:
                    holdId:
                      type: string
                      description: Deposit hold id.
                      example: dhold_3f1c9a7be2d84c01a5f6e9b2
                    accountId:
                      type: string
                      description: Account the deposit belongs to.
                    depositId:
                      type: string
                      description: The credited deposit; omitted until there is one.
                    reason:
                      type: string
                      enum:
                        - travel_rule_origin
                      description: Why the deposit is held.
                    status:
                      type: string
                      enum:
                        - declaration_required
                        - declaring
                        - declared
                        - released
                      description: >-
                        `declaration_required`: the deposit is held until you
                        declare who sent it. `declaring`: a declaration is being
                        filed; retry the same answer later if the call did not
                        complete. `declared`: the declaration was filed; the
                        deposit is credited as usual once released. `released`:
                        the deposit is no longer held and no declaration from
                        you is needed.
                    amount:
                      type: string
                      description: Amount received, as a decimal string.
                      example: '10.00000000'
                    currency:
                      type: string
                      description: Currency received.
                      example: USDC
                    network:
                      type: string
                      description: Network the deposit arrived on.
                      example: BASE
                    heldAt:
                      type: string
                      description: >-
                        When the deposit was received (ISO 8601); omitted when
                        unknown.
                    createdAt:
                      type: string
                      description: When the hold was recorded (ISO 8601).
                    declaration:
                      type: object
                      properties:
                        ownership:
                          type: string
                          enum:
                            - own
                            - third_party
                        thirdParty:
                          type: object
                          properties:
                            name:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: First name of the person who sent the funds.
                              example: Daniel
                            surname:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: Surname(s) of the person who sent the funds.
                              example: García
                          required:
                            - name
                            - surname
                          additionalProperties: false
                        declaredBy:
                          type: string
                          enum:
                            - holder
                            - workspace
                            - ops
                            - remembered
                          description: >-
                            Who answered: the account holder, your workspace,
                            our operations team on the holder’s behalf, or
                            `remembered` — filed automatically because an
                            earlier answer covered the same sending wallet for
                            this account.
                        declaredAt:
                          type: string
                          description: ISO 8601.
                      required:
                        - ownership
                        - declaredBy
                        - declaredAt
                      description: The declaration filed; omitted until there is one.
                  required:
                    - holdId
                    - accountId
                    - reason
                    - status
                    - amount
                    - currency
                    - network
                    - createdAt
                  additionalProperties: false
                  description: The deposit hold, with null fields omitted.
              required:
                - eventId
                - occurredAt
                - workspaceId
                - resourceType
                - resourceId
                - reason
                - action
                - reminder
                - hold
              description: Data for `deposit_action_required`
              example:
                eventId: dhold_3f1c9a7be2d84c01a5f6e9b2:1
                occurredAt: 1790590800000
                workspaceId: ws_123
                resourceType: deposit_hold
                resourceId: dhold_3f1c9a7be2d84c01a5f6e9b2
                reason: travel_rule_origin
                action: declare_origin
                reminder: false
                hold:
                  holdId: dhold_3f1c9a7be2d84c01a5f6e9b2
                  accountId: holder@example.com
                  reason: travel_rule_origin
                  status: declaration_required
                  amount: '10.00000000'
                  currency: USDC
                  network: BASE
                  heldAt: '2026-09-28T10:12:21.075Z'
                  createdAt: '2026-09-28T10:13:07.000Z'
          description: Data associated with the webhook event
      required:
        - type
        - id
        - api_version
        - apiKey
        - data
      description: >-
        Payload POSTed to your registered webhook URL. For verification,
        implement `verification_status_updated` first; treat `kyc_completed` as
        legacy-only.
    WebhookResponse:
      type: object
      properties: {}
      description: Response schema for webhook events
    GetWebhookConfigRequest:
      type: object
      properties: {}
    GetWebhookConfigResponse:
      type: object
      properties:
        url:
          type: string
          nullable: true
          format: uri
          description: Webhook URL for the client
        updatedAt:
          type: number
          description: Timestamp when the webhook URL was last updated
        createdAt:
          type: number
          description: Timestamp when the webhook configuration was first created
      required:
        - url
        - updatedAt
        - createdAt
      description: Current webhook configuration for the client
      example:
        url: https://api.example.com/webhooks/virtuabroker
        updatedAt: 1704067200000
        createdAt: 1704067200000
    UpdateWebhookConfigRequest:
      type: object
      properties:
        url:
          type: string
          format: uri
          description: New webhook URL for the client
          example: https://api.example.com/webhooks/virtuabroker
        apiKey:
          type: string
          description: >-
            Optional API key echoed back on every outgoing webhook so you can
            authenticate incoming requests on your endpoint. Omit to keep the
            currently stored value.
          example: whk_live_xxx
      required:
        - url
    UpdateWebhookConfigResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the webhook configuration was updated successfully
        url:
          type: string
          format: uri
          description: The updated webhook URL
        updatedAt:
          type: number
          description: Timestamp when the webhook URL was updated
      required:
        - success
        - url
        - updatedAt
      description: Response after updating webhook configuration
      example:
        success: true
        url: https://api.example.com/webhooks/virtuabroker
        updatedAt: 1704067200000
    ETH:
      type: object
      properties:
        type:
          type: string
          enum:
            - ETH
        address:
          type: string
          description: >-
            Destination wallet address. Send this rather than the legacy
            `destinationWalletAddress` — at least one of the two is required,
            and a payload carrying neither is rejected. On EVM chains the
            address is "0x" followed by 40 hex characters.
        memo:
          type: string
          description: Memo for the wallet, when the chain uses one
        txId:
          type: string
          description: Blockchain transaction ID
        txUrlScan:
          type: string
          description: Blockchain explorer URL for the transaction
        destinationWalletAddress:
          type: string
          description: >-
            Destination wallet address (legacy shape). Still accepted, but send
            `address` instead — at least one of the two is required and
            supplying neither is rejected.
        destinationWalletMemo:
          type: string
          description: Memo for the wallet (legacy shape) — send `memo` instead
        destinationNetwork:
          type: string
          description: >-
            Network name, when the corridor addresses the chain by name rather
            than by `type`
        destinationNetworkId:
          type: string
          description: >-
            Network id from GET /v1/currencies/{currency}/networks, for
            corridors where `supportsNetworkDiscovery` is true
        destinationCurrencySymbol:
          type: string
          description: >-
            Asset symbol on the chain. `type` names the chain, so this is what
            separates the native coin from tokens on it — ETH from
            USDC-on-Ethereum.
      required:
        - type
      description: ETH destination details
      anyOf:
        - required:
            - address
          properties:
            address:
              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
        - required:
            - destinationWalletAddress
          properties:
            destinationWalletAddress:
              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
      title: ETH
    MATIC:
      type: object
      properties:
        type:
          type: string
          enum:
            - MATIC
        address:
          type: string
          description: >-
            Destination wallet address. Send this rather than the legacy
            `destinationWalletAddress` — at least one of the two is required,
            and a payload carrying neither is rejected. On EVM chains the
            address is "0x" followed by 40 hex characters.
        memo:
          type: string
          description: Memo for the wallet, when the chain uses one
        txId:
          type: string
          description: Blockchain transaction ID
        txUrlScan:
          type: string
          description: Blockchain explorer URL for the transaction
        destinationWalletAddress:
          type: string
          description: >-
            Destination wallet address (legacy shape). Still accepted, but send
            `address` instead — at least one of the two is required and
            supplying neither is rejected.
        destinationWalletMemo:
          type: string
          description: Memo for the wallet (legacy shape) — send `memo` instead
        destinationNetwork:
          type: string
          description: >-
            Network name, when the corridor addresses the chain by name rather
            than by `type`
        destinationNetworkId:
          type: string
          description: >-
            Network id from GET /v1/currencies/{currency}/networks, for
            corridors where `supportsNetworkDiscovery` is true
        destinationCurrencySymbol:
          type: string
          description: >-
            Asset symbol on the chain. `type` names the chain, so this is what
            separates the native coin from tokens on it — ETH from
            USDC-on-Ethereum.
      required:
        - type
      description: MATIC destination details
      anyOf:
        - required:
            - address
          properties:
            address:
              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
        - required:
            - destinationWalletAddress
          properties:
            destinationWalletAddress:
              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
      title: MATIC
    SOL:
      type: object
      properties:
        type:
          type: string
          enum:
            - SOL
        address:
          type: string
          description: >-
            Destination wallet address. Send this rather than the legacy
            `destinationWalletAddress` — at least one of the two is required,
            and a payload carrying neither is rejected. On EVM chains the
            address is "0x" followed by 40 hex characters.
        memo:
          type: string
          description: Memo for the wallet, when the chain uses one
        txId:
          type: string
          description: Blockchain transaction ID
        txUrlScan:
          type: string
          description: Blockchain explorer URL for the transaction
        destinationWalletAddress:
          type: string
          description: >-
            Destination wallet address (legacy shape). Still accepted, but send
            `address` instead — at least one of the two is required and
            supplying neither is rejected.
        destinationWalletMemo:
          type: string
          description: Memo for the wallet (legacy shape) — send `memo` instead
        destinationNetwork:
          type: string
          description: >-
            Network name, when the corridor addresses the chain by name rather
            than by `type`
        destinationNetworkId:
          type: string
          description: >-
            Network id from GET /v1/currencies/{currency}/networks, for
            corridors where `supportsNetworkDiscovery` is true
        destinationCurrencySymbol:
          type: string
          description: >-
            Asset symbol on the chain. `type` names the chain, so this is what
            separates the native coin from tokens on it — ETH from
            USDC-on-Ethereum.
      required:
        - type
      description: SOL destination details
      anyOf:
        - required:
            - address
          properties:
            address:
              pattern: \S
        - required:
            - destinationWalletAddress
          properties:
            destinationWalletAddress:
              pattern: \S
      title: SOL
    TRON:
      type: object
      properties:
        type:
          type: string
          enum:
            - TRON
        address:
          type: string
          description: >-
            Destination wallet address. Send this rather than the legacy
            `destinationWalletAddress` — at least one of the two is required,
            and a payload carrying neither is rejected. On EVM chains the
            address is "0x" followed by 40 hex characters.
        memo:
          type: string
          description: Memo for the wallet, when the chain uses one
        txId:
          type: string
          description: Blockchain transaction ID
        txUrlScan:
          type: string
          description: Blockchain explorer URL for the transaction
        destinationWalletAddress:
          type: string
          description: >-
            Destination wallet address (legacy shape). Still accepted, but send
            `address` instead — at least one of the two is required and
            supplying neither is rejected.
        destinationWalletMemo:
          type: string
          description: Memo for the wallet (legacy shape) — send `memo` instead
        destinationNetwork:
          type: string
          description: >-
            Network name, when the corridor addresses the chain by name rather
            than by `type`
        destinationNetworkId:
          type: string
          description: >-
            Network id from GET /v1/currencies/{currency}/networks, for
            corridors where `supportsNetworkDiscovery` is true
        destinationCurrencySymbol:
          type: string
          description: >-
            Asset symbol on the chain. `type` names the chain, so this is what
            separates the native coin from tokens on it — ETH from
            USDC-on-Ethereum.
      required:
        - type
      description: TRON destination details
      anyOf:
        - required:
            - address
          properties:
            address:
              pattern: \S
        - required:
            - destinationWalletAddress
          properties:
            destinationWalletAddress:
              pattern: \S
      title: TRON
    BankDepositCOL:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationBankAccount:
          type: string
          description: Bank account
        destinationNetworkId:
          type: string
          description: >-
            Payout network id from GET /v1/currencies/COP/networks. Not read by
            the payout; retained for the network selector and for stored
            records.
        destinationBankName:
          type: string
          description: Bank name (used to resolve the network when id is omitted)
        country:
          type: string
          description: ISO 3166 country code
        type:
          type: string
          enum:
            - BANK_DEPOSIT_COL
        destinationBankCode:
          type: string
          description: >-
            Recipient bank code — one of the 4-digit codes published by GET
            /v1/currencies/COP/destination-schema?method=bankDepositCOL (the
            code, not the name). Required when creating or updating a
            destination.
        destinationBankAccountType:
          type: string
          description: >-
            Bank account type — CORRIENTE or AHORRO. Required when creating or
            updating a destination.
        destinationTaxId:
          type: string
          description: >-
            Recipient ID document number. Required when creating or updating a
            destination.
        destinationDocumentType:
          type: string
          description: >-
            Recipient ID document type — CC, CE, NIT, TI or PP. Required when
            creating or updating a destination.
      required:
        - destinationName
        - destinationBankAccount
        - type
      description: >-
        Colombian bank deposit details. Equivalent to ACH_COP — same payout
        rail, same required fields, same bank roster; ACH_COP is recommended for
        new integrations. Note that BANK_DEPOSIT_COL is also the name of a COP
        collection rail.
      title: Bank Deposit COL
    BreBCOP:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        brebKey:
          type: string
          minLength: 1
          description: Bre-B key (llave) that identifies the recipient account
        email:
          type: string
          description: Recipient email (optional contact for the Bre-B rail)
        destinationPhoneNumber:
          type: string
          description: Recipient phone number (optional contact for the Bre-B rail)
        type:
          type: string
          enum:
            - BRE_B_COP
      required:
        - destinationName
        - brebKey
        - type
      description: Colombian Bre-B payout details
      title: Bre-B COP
    AchCOP:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationBankCode:
          type: string
          pattern: ^\d{4}$
          description: >-
            Recipient bank code — one of the 4-digit codes published by GET
            /v1/currencies/COP/destination-schema?method=achCOP (the code, not
            the name)
        destinationBankAccountNumber:
          type: string
          minLength: 1
          description: Recipient bank account number
        destinationBankAccountType:
          type: string
          minLength: 1
          description: Bank account type (e.g. AHORROS / CORRIENTE)
        destinationDocumentType:
          type: string
          minLength: 1
          description: Recipient ID document type (e.g. CC / CE / NIT)
        destinationTaxId:
          type: string
          minLength: 1
          description: Recipient ID document number
        type:
          type: string
          enum:
            - ACH_COP
      required:
        - destinationName
        - destinationBankCode
        - destinationBankAccountNumber
        - destinationBankAccountType
        - destinationDocumentType
        - destinationTaxId
        - type
      description: Colombian ACH payout details
      title: ACH COP
    BankDepositBR:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationBankCode:
          type: string
          description: Bank code
        destinationBankAccount:
          type: string
          description: Bank account
        destinationBankBranch:
          type: string
          description: Bank branch
        destinationTaxId:
          type: string
          description: Tax ID of the recipient
        type:
          type: string
          enum:
            - BANK_DEPOSIT_BR
      required:
        - destinationName
        - destinationBankCode
        - destinationBankAccount
        - destinationBankBranch
        - destinationTaxId
        - type
      description: Brazilian bank deposit details
      title: Bank Deposit BR
    PixBR:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationPixCode:
          type: string
          description: PIX code
        destinationTaxId:
          type: string
          description: Tax ID of the recipient
        type:
          type: string
          enum:
            - PIX_BR
      required:
        - destinationName
        - destinationPixCode
        - destinationTaxId
        - type
      description: Brazilian PIX details
      title: PIX BR
    BankDepositVEN:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationBankAccountNumber:
          type: string
          description: Bank account number
        destinationBankName:
          type: string
          description: Name of the bank
        destinationTaxId:
          type: string
          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
          description: Tax ID of the recipient
        destinationBankAccountType:
          type: string
          description: Type of bank account
        type:
          type: string
          enum:
            - BANK_DEPOSIT_VEN
      required:
        - destinationName
        - destinationBankAccountNumber
        - destinationBankName
        - destinationTaxId
        - destinationBankAccountType
        - type
      description: Venezuelan bank deposit details
      title: Bank Deposit VEN
    PhoneDepositVEN:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationBankCode:
          type: string
          description: Bank code
        destinationPhoneNumber:
          type: string
          description: Phone number
        destinationTaxId:
          type: string
          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
          description: Tax ID of the recipient
        destinationBankAccountType:
          type: string
          description: Type of bank account
        type:
          type: string
          enum:
            - PHONE_DEPOSIT_VEN
      required:
        - destinationName
        - destinationBankCode
        - destinationPhoneNumber
        - destinationTaxId
        - destinationBankAccountType
        - type
      description: Venezuelan phone deposit details
      title: Phone Deposit VEN
    BankDepositMX:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationBankCode:
          type: string
          description: Bank code
        destinationBankAccountNumber:
          type: string
          description: Bank account number (18-digit CLABE)
        numericReference:
          type: string
          description: Numeric reference
        notesReference:
          type: string
          description: Notes reference
        destinationClabe:
          type: string
          description: CLABE — legacy alias, prefer destinationBankAccountNumber
        destinationTaxId:
          type: string
          description: >-
            Recipient tax id (RFC) — required by some MX bank-deposit rails
            ("Número de Identificación"); optional otherwise
        type:
          type: string
          enum:
            - BANK_DEPOSIT_MX
      required:
        - destinationName
        - destinationBankAccountNumber
        - type
      description: Mexican bank deposit details
      title: Bank Deposit MX
    DebitCardMX:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationBankCode:
          type: string
          description: Bank code
        destinationBankAccountNumber:
          type: string
          description: Bank account number
        numericReference:
          type: string
          description: Numeric reference
        notesReference:
          type: string
          description: Notes reference
        type:
          type: string
          enum:
            - DEBIT_CARD_MX
      required:
        - destinationName
        - destinationBankCode
        - destinationBankAccountNumber
        - numericReference
        - notesReference
        - type
      description: Mexican debit card details
      title: Debit Card MX
    MobileNumberMX:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationBankCode:
          type: string
          description: Bank code
        destinationPhoneNumber:
          type: string
          description: Phone number
        numericReference:
          type: string
          description: Numeric reference
        notesReference:
          type: string
          description: Notes reference
        destinationRFC:
          type: string
          description: RFC number
        type:
          type: string
          enum:
            - MOBILE_NUMBER_MX
      required:
        - destinationName
        - destinationBankCode
        - destinationPhoneNumber
        - numericReference
        - notesReference
        - destinationRFC
        - type
      description: Mexican mobile number details
      title: Mobile Number MX
    BankDepositAR:
      type: object
      properties:
        destinationName:
          type: string
          description: Name of the recipient
        destinationBankAccount:
          type: string
          description: Bank account
        destinationNetworkId:
          type: string
          description: >-
            Payout network id from GET /v1/currencies/ARS/networks (the network
            selector, optional)
        destinationBankName:
          type: string
          description: Bank name (used to resolve the network when id is omitted)
        country:
          type: string
          description: ISO 3166 country code
        type:
          type: string
          enum:
            - BANK_DEPOSIT_AR
        destinationCBU:
          type: string
          description: CBU — 22-digit bank account key (legacy, optional)
        destinationCVU:
          type: string
          description: CVU — 22-digit virtual account key (legacy, optional)
        destinationAlias:
          type: string
          description: Account alias (legacy, optional)
        destinationTaxId:
          type: string
          description: >-
            CUIT/CUIL tax ID of the recipient (required when creating ARS bank
            destinations): exactly 11 digits with no hyphens, spaces or other
            characters, and a valid check digit (e.g. 20000000001)
        destinationDocumentType:
          type: string
          description: Document type of the recipient (legacy, optional)
      required:
        - destinationName
        - destinationBankAccount
        - type
      description: Argentinian bank deposit details
      title: Bank Deposit AR
    Balance:
      type: object
      properties:
        type:
          type: string
          enum:
            - BALANCE
      required:
        - type
      description: Balance transfer details
      title: Balance
    DestinationDetails:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - BALANCE
          required:
            - type
          description: Balance transfer details
          title: Balance
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            iban:
              type: string
              description: IBAN number
            bic:
              type: string
              description: BIC number (optional)
            country:
              type: string
              description: Country code
            accountType:
              type: string
              enum:
                - PERSONAL
                - BUSINESS
              default: PERSONAL
              description: Account type (optional)
            city:
              type: string
              description: >-
                City of the recipient. REQUIRED for SEPA payouts — provide it
                here or in destinationUserData.city.
            postalCode:
              type: string
              description: >-
                Postal code of the recipient. REQUIRED for SEPA payouts —
                provide it here or in destinationUserData.postalCode.
            address:
              type: string
              description: >-
                Street address (line 1) of the recipient. Forwarded as the
                payout beneficiary `address.line1` when registering the
                beneficiary. Stored on the saved transaction method so the user
                does not have to re-supply it on every withdraw.
            type:
              type: string
              enum:
                - SEPA
          required:
            - destinationName
            - iban
            - country
            - type
          description: SEPA transfer details
          title: SEPA
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            accountNumber:
              type: string
              description: UK bank account number
            sortCode:
              type: string
              description: UK sort code
            country:
              type: string
              enum:
                - GB
              default: GB
              description: >-
                ISO 3166 country code of the recipient (GBP transfer is
                UK-based)
            accountType:
              type: string
              enum:
                - PERSONAL
                - BUSINESS
              default: PERSONAL
              description: Account type (optional)
            city:
              type: string
              description: >-
                City of the recipient. REQUIRED for this rail — provide it here
                or in destinationUserData.city.
            postalCode:
              type: string
              description: >-
                Postal code of the recipient. REQUIRED for this rail — provide
                it here or in destinationUserData.postalCode.
            address:
              type: string
              description: >-
                Street address (line 1) of the recipient. Forwarded as payee
                address when creating the payee.
            type:
              type: string
              enum:
                - GBP_BANK_TRANSFER
          required:
            - destinationName
            - accountNumber
            - sortCode
            - type
          description: GBP domestic bank transfer details
          title: BankDepositGB
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            accountNumber:
              type: string
              description: US bank account number
            routingNumber:
              type: string
              description: US ABA routing number
            country:
              type: string
              enum:
                - US
              default: US
              description: ISO 3166 country code of the recipient (ACH is US-domestic)
            accountType:
              type: string
              enum:
                - PERSONAL
                - BUSINESS
              default: PERSONAL
              description: Account type (optional)
            bankAccountType:
              type: string
              enum:
                - CHECKING
                - SAVINGS
              default: CHECKING
              description: >-
                Kind of bank account the payout lands in. Defaults to CHECKING
                when omitted.
            city:
              type: string
              description: >-
                City of the recipient. REQUIRED for this rail — provide it here
                or in destinationUserData.city.
            postalCode:
              type: string
              description: >-
                Postal code of the recipient. REQUIRED for this rail — provide
                it here or in destinationUserData.postalCode.
            state:
              type: string
              pattern: ^[A-Z]{2}$
              description: >-
                Two-letter US state code of the recipient (e.g. NY). REQUIRED
                for this rail.
            address:
              type: string
              description: >-
                Street address (line 1) of the recipient. Forwarded as payee
                address when creating the payee.
            type:
              type: string
              enum:
                - ACH_US
          required:
            - destinationName
            - accountNumber
            - routingNumber
            - state
            - type
          description: USD ACH transfer details
          title: AchUS
        - type: object
          properties:
            type:
              type: string
              enum:
                - linkedBankAccount
            accountLinkId:
              type: string
              pattern: ^alnk_[0-9a-f]{24}$
              description: Identifier of one of the account holder own linked bank accounts
              examples:
                - alnk_0123456789abcdef01234567
          required:
            - type
            - accountLinkId
          description: >-
            A bank account the account holder linked beforehand. Pays out only
            to the holder of the order; never to a third party. Not available
            yet.
          title: LinkedBankAccount
          deprecated: true
        - type: object
          properties:
            type:
              type: string
              enum:
                - ETH
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: ETH destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
          title: ETH
        - type: object
          properties:
            type:
              type: string
              enum:
                - MATIC
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: MATIC destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
          title: MATIC
        - type: object
          properties:
            type:
              type: string
              enum:
                - SOL
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: SOL destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: \S
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: \S
          title: SOL
        - type: object
          properties:
            type:
              type: string
              enum:
                - TRON
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: TRON destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: \S
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: \S
          title: TRON
        - type: object
          properties:
            type:
              type: string
              enum:
                - CELO
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: CELO destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
          title: CELO
        - type: object
          properties:
            type:
              type: string
              enum:
                - BTC
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: BTC destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: \S
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: \S
          title: BTC
        - type: object
          properties:
            type:
              type: string
              enum:
                - SOLANA
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: SOLANA destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: \S
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: \S
          title: SOLANA
        - type: object
          properties:
            type:
              type: string
              enum:
                - XRP
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: XRP destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: \S
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: \S
          title: XRP
        - type: object
          properties:
            type:
              type: string
              enum:
                - CARDANO
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: CARDANO destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: \S
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: \S
          title: CARDANO
        - type: object
          properties:
            type:
              type: string
              enum:
                - BSC
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: BSC destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
          title: BSC
        - type: object
          properties:
            type:
              type: string
              enum:
                - ARBITRUM
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: ARBITRUM destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
          title: ARBITRUM
        - type: object
          properties:
            type:
              type: string
              enum:
                - OPTIMISM
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: OPTIMISM destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
          title: OPTIMISM
        - type: object
          properties:
            type:
              type: string
              enum:
                - AVALANCHE
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: AVALANCHE destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
          title: AVALANCHE
        - type: object
          properties:
            type:
              type: string
              enum:
                - BASE
            address:
              type: string
              description: >-
                Destination wallet address. Send this rather than the legacy
                `destinationWalletAddress` — at least one of the two is
                required, and a payload carrying neither is rejected. On EVM
                chains the address is "0x" followed by 40 hex characters.
            memo:
              type: string
              description: Memo for the wallet, when the chain uses one
            txId:
              type: string
              description: Blockchain transaction ID
            txUrlScan:
              type: string
              description: Blockchain explorer URL for the transaction
            destinationWalletAddress:
              type: string
              description: >-
                Destination wallet address (legacy shape). Still accepted, but
                send `address` instead — at least one of the two is required and
                supplying neither is rejected.
            destinationWalletMemo:
              type: string
              description: Memo for the wallet (legacy shape) — send `memo` instead
            destinationNetwork:
              type: string
              description: >-
                Network name, when the corridor addresses the chain by name
                rather than by `type`
            destinationNetworkId:
              type: string
              description: >-
                Network id from GET /v1/currencies/{currency}/networks, for
                corridors where `supportsNetworkDiscovery` is true
            destinationCurrencySymbol:
              type: string
              description: >-
                Asset symbol on the chain. `type` names the chain, so this is
                what separates the native coin from tokens on it — ETH from
                USDC-on-Ethereum.
          required:
            - type
          description: BASE destination details
          anyOf:
            - required:
                - address
              properties:
                address:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
            - required:
                - destinationWalletAddress
              properties:
                destinationWalletAddress:
                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
          title: BASE
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: >-
                Payout network id from GET /v1/currencies/COP/networks. Not read
                by the payout; retained for the network selector and for stored
                records.
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_COL
            destinationBankCode:
              type: string
              description: >-
                Recipient bank code — one of the 4-digit codes published by GET
                /v1/currencies/COP/destination-schema?method=bankDepositCOL (the
                code, not the name). Required when creating or updating a
                destination.
            destinationBankAccountType:
              type: string
              description: >-
                Bank account type — CORRIENTE or AHORRO. Required when creating
                or updating a destination.
            destinationTaxId:
              type: string
              description: >-
                Recipient ID document number. Required when creating or updating
                a destination.
            destinationDocumentType:
              type: string
              description: >-
                Recipient ID document type — CC, CE, NIT, TI or PP. Required
                when creating or updating a destination.
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: >-
            Colombian bank deposit details. Equivalent to ACH_COP — same payout
            rail, same required fields, same bank roster; ACH_COP is recommended
            for new integrations. Note that BANK_DEPOSIT_COL is also the name of
            a COP collection rail.
          title: Bank Deposit COL
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            brebKey:
              type: string
              minLength: 1
              description: Bre-B key (llave) that identifies the recipient account
            email:
              type: string
              description: Recipient email (optional contact for the Bre-B rail)
            destinationPhoneNumber:
              type: string
              description: Recipient phone number (optional contact for the Bre-B rail)
            type:
              type: string
              enum:
                - BRE_B_COP
          required:
            - destinationName
            - brebKey
            - type
          description: Colombian Bre-B payout details
          title: Bre-B COP
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankCode:
              type: string
              pattern: ^\d{4}$
              description: >-
                Recipient bank code — one of the 4-digit codes published by GET
                /v1/currencies/COP/destination-schema?method=achCOP (the code,
                not the name)
            destinationBankAccountNumber:
              type: string
              minLength: 1
              description: Recipient bank account number
            destinationBankAccountType:
              type: string
              minLength: 1
              description: Bank account type (e.g. AHORROS / CORRIENTE)
            destinationDocumentType:
              type: string
              minLength: 1
              description: Recipient ID document type (e.g. CC / CE / NIT)
            destinationTaxId:
              type: string
              minLength: 1
              description: Recipient ID document number
            type:
              type: string
              enum:
                - ACH_COP
          required:
            - destinationName
            - destinationBankCode
            - destinationBankAccountNumber
            - destinationBankAccountType
            - destinationDocumentType
            - destinationTaxId
            - type
          description: Colombian ACH payout details
          title: ACH COP
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (unused for TWD — no network discovery)
            destinationBankName:
              type: string
              minLength: 2
              description: Bank name (required — TWD payouts run over SWIFT)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_TW
            destinationBankBranch:
              type: string
              minLength: 2
              description: Bank branch (required — TWD payouts run over SWIFT)
            bic:
              type: string
              pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
              description: SWIFT BIC code (required for TWD payouts)
            destinationBankAccountType:
              type: string
              description: Type of bank account (legacy, optional)
            destinationTaxId:
              type: string
              description: Tax ID of the recipient (legacy, optional)
            destinationDocumentType:
              type: string
              description: Document type of the recipient (legacy, optional)
          required:
            - destinationName
            - destinationBankAccount
            - destinationBankName
            - type
            - destinationBankBranch
            - bic
          description: Taiwan bank deposit details (SWIFT payout)
          title: Bank Deposit TW
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankCode:
              type: string
              description: Bank code
            destinationBankAccount:
              type: string
              description: Bank account
            destinationBankBranch:
              type: string
              description: Bank branch
            destinationTaxId:
              type: string
              description: Tax ID of the recipient
            type:
              type: string
              enum:
                - BANK_DEPOSIT_BR
          required:
            - destinationName
            - destinationBankCode
            - destinationBankAccount
            - destinationBankBranch
            - destinationTaxId
            - type
          description: Brazilian bank deposit details
          title: Bank Deposit BR
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPixCode:
              type: string
              description: PIX code
            destinationTaxId:
              type: string
              description: Tax ID of the recipient
            type:
              type: string
              enum:
                - PIX_BR
          required:
            - destinationName
            - destinationPixCode
            - destinationTaxId
            - type
          description: Brazilian PIX details
          title: PIX BR
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccountNumber:
              type: string
              description: Bank account number
            destinationBankName:
              type: string
              description: Name of the bank
            destinationTaxId:
              type: string
              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
              description: Tax ID of the recipient
            destinationBankAccountType:
              type: string
              description: Type of bank account
            type:
              type: string
              enum:
                - BANK_DEPOSIT_VEN
          required:
            - destinationName
            - destinationBankAccountNumber
            - destinationBankName
            - destinationTaxId
            - destinationBankAccountType
            - type
          description: Venezuelan bank deposit details
          title: Bank Deposit VEN
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankCode:
              type: string
              description: Bank code
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationTaxId:
              type: string
              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
              description: Tax ID of the recipient
            destinationBankAccountType:
              type: string
              description: Type of bank account
            type:
              type: string
              enum:
                - PHONE_DEPOSIT_VEN
          required:
            - destinationName
            - destinationBankCode
            - destinationPhoneNumber
            - destinationTaxId
            - destinationBankAccountType
            - type
          description: Venezuelan phone deposit details
          title: Phone Deposit VEN
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationIFSC:
              type: string
              description: IFSC code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_IN
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: >-
            India bank deposit details. Deprecated — no active payout corridor
            for this method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: Bank Deposit IN
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationIFSC:
              type: string
              description: IFSC code
            type:
              type: string
              enum:
                - IMPS
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: >-
            India IMPS details. Deprecated — no active payout corridor for this
            method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: IMPS
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationIFSC:
              type: string
              description: IFSC code
            type:
              type: string
              enum:
                - THAI_QR
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: >-
            Thailand Thai QR details. Deprecated — no active payout corridor for
            this method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: Thai QR
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationIFSC:
              type: string
              description: IFSC code
            type:
              type: string
              enum:
                - VIET_QR
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: >-
            Vietnam Viet QR details. Deprecated — no active payout corridor for
            this method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: Viet QR
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationIFSC:
              type: string
              description: IFSC code
            type:
              type: string
              enum:
                - GCASH
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: >-
            Philippines GCash details. Deprecated — no active payout corridor
            for this method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: GCash
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationTaxId:
              type: string
              description: Tax ID
            type:
              type: string
              enum:
                - MOBILE_PAYMENT_IN
          required:
            - destinationName
            - destinationPhoneNumber
            - destinationTaxId
            - type
          description: >-
            India mobile payment details. Deprecated — no active payout corridor
            for this method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: Mobile Payment IN
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationBankCode:
              type: string
              description: Bank code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_VN
          required:
            - destinationName
            - destinationBankAccount
            - destinationBankCode
            - type
          description: >-
            Vietnam bank deposit details. Deprecated — no active payout corridor
            for this method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: Bank Deposit VN
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            bic:
              type: string
              description: >-
                SWIFT BIC code (required for HKD payouts via the HK bank
                corridor)
            destinationBankName:
              type: string
              description: Bank name
            destinationAddress:
              type: string
              description: Address line 1 of the recipient
            destinationCity:
              type: string
              description: Recipient city (defaults to Hong Kong)
            accountHolderName:
              type: string
              description: Bank account holder name if different from payee
            type:
              type: string
              enum:
                - BANK_DEPOSIT_HK
          required:
            - destinationName
            - destinationBankAccount
            - bic
            - destinationBankName
            - destinationAddress
            - type
          description: Hong Kong bank deposit details (HKD bank corridor)
          title: Bank Deposit HK
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationBankCode:
              type: string
              pattern: ^\d+$
              description: CNAPS / bank institution code (numeric, variable length)
            destinationBankName:
              type: string
              description: Bank name
            destinationAddress:
              type: string
              description: Address line 1 of the recipient
            destinationCity:
              type: string
              description: Recipient city
            destinationState:
              type: string
              minLength: 1
              description: >-
                Province / state of the recipient (required for CN — the
                beneficiary is rejected in compliance review without it)
            destinationPostcode:
              type: string
              minLength: 1
              description: >-
                Postal code of the recipient (required for CN — the beneficiary
                is rejected in compliance review without it)
            destinationPhone:
              type: string
              description: >-
                Phone number of the recipient, without country prefix (optional;
                defaulted for CN when omitted)
            destinationTaxId:
              type: string
              description: >-
                Unified Social Credit Code (USCC, GB 32100-2015) of the
                recipient company — 18 characters including the check digit;
                whitespace is removed and letters are normalized to uppercase
                (optional)
            accountHolderName:
              type: string
              description: Bank account holder name if different from payee
            type:
              type: string
              enum:
                - BANK_DEPOSIT_CN
          required:
            - destinationName
            - destinationBankAccount
            - destinationBankCode
            - destinationBankName
            - destinationAddress
            - destinationCity
            - destinationState
            - destinationPostcode
            - type
          description: China mainland bank deposit details (CNY bank corridor)
          title: Bank Deposit CN
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: >-
                Payout network id from GET /v1/currencies/ARS/networks (the
                network selector, optional)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_AR
            destinationCBU:
              type: string
              description: CBU — 22-digit bank account key (legacy, optional)
            destinationCVU:
              type: string
              description: CVU — 22-digit virtual account key (legacy, optional)
            destinationAlias:
              type: string
              description: Account alias (legacy, optional)
            destinationTaxId:
              type: string
              description: >-
                CUIT/CUIL tax ID of the recipient (required when creating ARS
                bank destinations): exactly 11 digits with no hyphens, spaces or
                other characters, and a valid check digit (e.g. 20000000001)
            destinationDocumentType:
              type: string
              description: Document type of the recipient (legacy, optional)
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Argentinian bank deposit details
          title: Bank Deposit AR
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              minLength: 1
              description: Recipient bank name (required for Chilean bank payouts)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_CL
            destinationBankAccountType:
              type: string
              minLength: 1
              description: >-
                Account type — corriente or ahorro (required for Chilean bank
                payouts)
            destinationTaxId:
              type: string
              minLength: 1
              description: RUT tax ID of the recipient (required for Chilean bank payouts)
            destinationDocumentType:
              type: string
              description: Document type of the recipient (legacy, optional)
          required:
            - destinationName
            - destinationBankAccount
            - destinationBankName
            - type
            - destinationBankAccountType
            - destinationTaxId
          description: Chilean bank deposit details
          title: Bank Deposit CL
        - type: object
          properties:
            destinationName:
              type: string
              minLength: 2
              maxLength: 30
              description: Recipient name (required, 2–30 characters)
            destinationBankAccount:
              type: string
              minLength: 1
              maxLength: 11
              description: Bank account number (max 11 digits for Bolivian accounts)
            destinationNetworkId:
              type: string
              description: Payout network id (unused for BOB — no network discovery)
            destinationBankName:
              type: string
              maxLength: 20
              description: Bank name (optional, max 20 characters)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_BO
            destinationTaxId:
              type: string
              minLength: 1
              maxLength: 15
              description: NIT tax ID of the recipient (required for Bolivian payouts)
          required:
            - destinationName
            - destinationBankAccount
            - type
            - destinationTaxId
          description: Bolivian bank deposit details
          title: Bank Deposit BO
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: >-
                Payout network id from GET /v1/currencies/PEN/networks (the
                network selector)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_PE
            destinationCCI:
              type: string
              description: CCI — 20-digit interbank account code (legacy, optional)
            destinationBankAccountType:
              type: string
              description: Account type (corriente/ahorro) (legacy, optional)
            destinationTaxId:
              type: string
              description: DNI/RUC document ID of the recipient (legacy, optional)
            destinationDocumentType:
              type: string
              description: Document type of the recipient (legacy, optional)
          required:
            - destinationName
            - destinationBankAccount
            - destinationNetworkId
            - type
          description: >-
            Peruvian bank deposit details. Deprecated — no active payout
            corridor for this method; orders using it are rejected. Retained for
            backward compatibility with stored destinations.
          title: Bank Deposit PE
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankCode:
              type: string
              pattern: ^\d{3}$
              description: >-
                Recipient bank code (the 3-digit code the rail expects, not the
                name)
            destinationBankAccountNumber:
              type: string
              minLength: 1
              maxLength: 20
              description: Recipient bank account number (max 20)
            destinationBankAccountType:
              type: string
              enum:
                - CORRIENTE
                - AHORROS
                - PHONE
              description: Bank account type
            destinationCCI:
              type: string
              pattern: ^\d{1,20}$
              description: CCI — Peruvian interbank code (required, digits only, max 20)
            destinationDocumentType:
              type: string
              enum:
                - CC
                - CE
                - RUC
                - PAS
                - PAR
                - LMI
                - OTHER
              description: Recipient identification type
            destinationTaxId:
              type: string
              minLength: 1
              maxLength: 50
              description: Recipient identification number (max 50)
            email:
              type: string
              pattern: ^.+@.+\..+$
              description: Recipient email (required for PEN payouts)
            destinationPhoneNumber:
              type: string
              pattern: ^\d{1,9}$
              description: Recipient phone number (required, max 9 digits)
            type:
              type: string
              enum:
                - BANK_DEPOSIT_PEN
          required:
            - destinationName
            - destinationBankCode
            - destinationBankAccountNumber
            - destinationBankAccountType
            - destinationCCI
            - destinationDocumentType
            - destinationTaxId
            - email
            - destinationPhoneNumber
            - type
          description: Peruvian bank deposit details (bank-code payout corridor).
          title: Bank Deposit PEN
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_NG
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Nigeria bank deposit details
          title: Bank Deposit NG
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_KE
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Kenya bank deposit details
          title: Bank Deposit KE
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_GH
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: >-
            Ghana bank deposit details. Deprecated — no active payout corridor
            for this method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: Bank Deposit GH
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_ZA
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: South Africa bank deposit details
          title: Bank Deposit ZA
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_TZ
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Tanzania bank deposit details
          title: Bank Deposit TZ
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_UG
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Uganda bank deposit details
          title: Bank Deposit UG
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_RW
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Rwanda bank deposit details
          title: Bank Deposit RW
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_MW
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Malawi bank deposit details
          title: Bank Deposit MW
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_ZM
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Zambia bank deposit details
          title: Bank Deposit ZM
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_BW
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Botswana bank deposit details
          title: Bank Deposit BW
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_CD
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: >-
            DR Congo bank deposit details. Deprecated — no active payout
            corridor for this method; orders using it are rejected. Retained for
            backward compatibility with stored destinations.
          title: Bank Deposit CD
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_XOF
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: West African CFA bank deposit details
          title: Bank Deposit XOF
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankAccount:
              type: string
              description: Bank account
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationBankName is given)
            destinationBankName:
              type: string
              description: Bank name (used to resolve the network when id is omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - BANK_DEPOSIT_XAF
          required:
            - destinationName
            - destinationBankAccount
            - type
          description: Central African CFA bank deposit details
          title: Bank Deposit XAF
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_NG
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: Nigeria mobile money details
          title: Mobile Money NG
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_KE
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: Kenya mobile money details
          title: Mobile Money KE
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_GH
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: >-
            Ghana mobile money details. Deprecated — no active payout corridor
            for this method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: Mobile Money GH
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_ZA
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: South Africa mobile money details
          title: Mobile Money ZA
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_TZ
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: Tanzania mobile money details
          title: Mobile Money TZ
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_UG
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: Uganda mobile money details
          title: Mobile Money UG
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_RW
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: Rwanda mobile money details
          title: Mobile Money RW
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_MW
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: Malawi mobile money details
          title: Mobile Money MW
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_ZM
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: Zambia mobile money details
          title: Mobile Money ZM
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_BW
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: Botswana mobile money details
          title: Mobile Money BW
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_CD
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: >-
            DR Congo mobile money details. Deprecated — no active payout
            corridor for this method; orders using it are rejected. Retained for
            backward compatibility with stored destinations.
          title: Mobile Money CD
          deprecated: true
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_XOF
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: West African CFA mobile money details
          title: Mobile Money XOF
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPhoneNumber:
              type: string
              description: Phone number
            destinationNetworkId:
              type: string
              description: Payout network id (optional if destinationNetworkName is given)
            destinationNetworkName:
              type: string
              description: Mobile money network name (resolves the network when id omitted)
            country:
              type: string
              description: ISO 3166 country code
            type:
              type: string
              enum:
                - MOBILE_MONEY_XAF
          required:
            - destinationName
            - destinationPhoneNumber
            - type
          description: Central African CFA mobile money details
          title: Mobile Money XAF
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationBankCode:
              type: string
              description: Bank code
            destinationBankAccountNumber:
              type: string
              description: Bank account number (18-digit CLABE)
            numericReference:
              type: string
              description: Numeric reference
            notesReference:
              type: string
              description: Notes reference
            destinationClabe:
              type: string
              description: CLABE — legacy alias, prefer destinationBankAccountNumber
            destinationTaxId:
              type: string
              description: >-
                Recipient tax id (RFC) — required by some MX bank-deposit rails
                ("Número de Identificación"); optional otherwise
            type:
              type: string
              enum:
                - BANK_DEPOSIT_MX
          required:
            - destinationName
            - destinationBankAccountNumber
            - type
          description: Mexican bank deposit details
          title: Bank Deposit MX
        - type: object
          properties:
            destinationName:
              type: string
              description: Name of the recipient
            destinationPseNumber:
              type: string
              description: PSE number
            type:
              type: string
              enum:
                - PSE
          required:
            - destinationName
            - destinationPseNumber
            - type
          description: >-
            PSE transfer details. Deprecated — no active payout corridor for
            this method; orders using it are rejected. Retained for backward
            compatibility with stored destinations.
          title: PSE
          deprecated: true
      description: Union type for all possible destination details
    CreateWithdrawalRequest:
      type: object
      properties:
        amount:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: Amount to be withdrawn
          example: 1000
        currency:
          type: string
          description: Currency of the withdrawal
          example: EUR
        userEmail:
          type: string
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: Email of the user making the request
          example: user@example.com
        destinationTranferId:
          type: string
          description: ID of the destination transfer method
          example: '123'
        destinationTransferData:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BALANCE
              required:
                - type
              description: Balance transfer details
              title: Balance
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                iban:
                  type: string
                  description: IBAN number
                bic:
                  type: string
                  description: BIC number (optional)
                country:
                  type: string
                  description: Country code
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for SEPA payouts — provide
                    it here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for SEPA payouts —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as the
                    payout beneficiary `address.line1` when registering the
                    beneficiary. Stored on the saved transaction method so the
                    user does not have to re-supply it on every withdraw.
                type:
                  type: string
                  enum:
                    - SEPA
              required:
                - destinationName
                - iban
                - country
                - type
              description: SEPA transfer details
              title: SEPA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: UK bank account number
                sortCode:
                  type: string
                  description: UK sort code
                country:
                  type: string
                  enum:
                    - GB
                  default: GB
                  description: >-
                    ISO 3166 country code of the recipient (GBP transfer is
                    UK-based)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - GBP_BANK_TRANSFER
              required:
                - destinationName
                - accountNumber
                - sortCode
                - type
              description: GBP domestic bank transfer details
              title: BankDepositGB
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: US bank account number
                routingNumber:
                  type: string
                  description: US ABA routing number
                country:
                  type: string
                  enum:
                    - US
                  default: US
                  description: ISO 3166 country code of the recipient (ACH is US-domestic)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                bankAccountType:
                  type: string
                  enum:
                    - CHECKING
                    - SAVINGS
                  default: CHECKING
                  description: >-
                    Kind of bank account the payout lands in. Defaults to
                    CHECKING when omitted.
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                state:
                  type: string
                  pattern: ^[A-Z]{2}$
                  description: >-
                    Two-letter US state code of the recipient (e.g. NY).
                    REQUIRED for this rail.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - ACH_US
              required:
                - destinationName
                - accountNumber
                - routingNumber
                - state
                - type
              description: USD ACH transfer details
              title: AchUS
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - linkedBankAccount
                accountLinkId:
                  type: string
                  pattern: ^alnk_[0-9a-f]{24}$
                  description: >-
                    Identifier of one of the account holder own linked bank
                    accounts
                  examples:
                    - alnk_0123456789abcdef01234567
              required:
                - type
                - accountLinkId
              description: >-
                A bank account the account holder linked beforehand. Pays out
                only to the holder of the order; never to a third party. Not
                available yet.
              title: LinkedBankAccount
              deprecated: true
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ETH
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ETH destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ETH
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - MATIC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: MATIC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: MATIC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOL
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOL destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOL
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - TRON
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: TRON destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: TRON
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CELO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CELO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: CELO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BTC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BTC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: BTC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOLANA
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOLANA destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOLANA
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - XRP
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: XRP destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: XRP
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CARDANO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CARDANO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: CARDANO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BSC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BSC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BSC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ARBITRUM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ARBITRUM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ARBITRUM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - OPTIMISM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: OPTIMISM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: OPTIMISM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - AVALANCHE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: AVALANCHE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: AVALANCHE
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BASE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BASE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BASE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/COP/networks. Not
                    read by the payout; retained for the network selector and
                    for stored records.
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_COL
                destinationBankCode:
                  type: string
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET
                    /v1/currencies/COP/destination-schema?method=bankDepositCOL
                    (the code, not the name).
                destinationBankAccountType:
                  type: string
                  description: Bank account type — CORRIENTE or AHORRO.
                destinationTaxId:
                  type: string
                  description: Recipient ID document number.
                destinationDocumentType:
                  type: string
                  description: Recipient ID document type — CC, CE, NIT, TI or PP.
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationBankCode
                - destinationBankAccountType
                - destinationDocumentType
                - destinationTaxId
              description: >-
                Colombian bank deposit details. Equivalent to ACH_COP — same
                payout rail, same required fields, same bank roster; ACH_COP is
                recommended for new integrations. Note that BANK_DEPOSIT_COL is
                also the name of a COP collection rail.
              title: Bank Deposit COL
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                brebKey:
                  type: string
                  minLength: 1
                  description: Bre-B key (llave) that identifies the recipient account
                email:
                  type: string
                  description: Recipient email (optional contact for the Bre-B rail)
                destinationPhoneNumber:
                  type: string
                  description: Recipient phone number (optional contact for the Bre-B rail)
                type:
                  type: string
                  enum:
                    - BRE_B_COP
              required:
                - destinationName
                - brebKey
                - type
              description: Colombian Bre-B payout details
              title: Bre-B COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{4}$
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET /v1/currencies/COP/destination-schema?method=achCOP (the
                    code, not the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  description: Recipient bank account number
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: Bank account type (e.g. AHORROS / CORRIENTE)
                destinationDocumentType:
                  type: string
                  minLength: 1
                  description: Recipient ID document type (e.g. CC / CE / NIT)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: Recipient ID document number
                type:
                  type: string
                  enum:
                    - ACH_COP
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationDocumentType
                - destinationTaxId
                - type
              description: Colombian ACH payout details
              title: ACH COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for TWD — no network discovery)
                destinationBankName:
                  type: string
                  minLength: 2
                  description: Bank name (required — TWD payouts run over SWIFT)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TW
                destinationBankBranch:
                  type: string
                  minLength: 2
                  description: Bank branch (required — TWD payouts run over SWIFT)
                bic:
                  type: string
                  pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                  description: SWIFT BIC code (required for TWD payouts)
                destinationBankAccountType:
                  type: string
                  description: Type of bank account (legacy, optional)
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankBranch
                - bic
              description: Taiwan bank deposit details (SWIFT payout)
              title: Bank Deposit TW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankBranch:
                  type: string
                  description: Bank branch
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BR
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccount
                - destinationBankBranch
                - destinationTaxId
                - type
              description: Brazilian bank deposit details
              title: Bank Deposit BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPixCode:
                  type: string
                  description: PIX code
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - PIX_BR
              required:
                - destinationName
                - destinationPixCode
                - destinationTaxId
                - type
              description: Brazilian PIX details
              title: PIX BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number
                destinationBankName:
                  type: string
                  description: Name of the bank
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankAccountNumber
                - destinationBankName
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan bank deposit details
              title: Bank Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - PHONE_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankCode
                - destinationPhoneNumber
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan phone deposit details
              title: Phone Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_IN
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - IMPS
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India IMPS details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: IMPS
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - THAI_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Thailand Thai QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Thai QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - VIET_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Vietnam Viet QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Viet QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - GCASH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Philippines GCash details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: GCash
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  description: Tax ID
                type:
                  type: string
                  enum:
                    - MOBILE_PAYMENT_IN
              required:
                - destinationName
                - destinationPhoneNumber
                - destinationTaxId
                - type
              description: >-
                India mobile payment details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Payment IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  description: Bank code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - type
              description: >-
                Vietnam bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit VN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                bic:
                  type: string
                  description: >-
                    SWIFT BIC code (required for HKD payouts via the HK bank
                    corridor)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city (defaults to Hong Kong)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_HK
              required:
                - destinationName
                - destinationBankAccount
                - bic
                - destinationBankName
                - destinationAddress
                - type
              description: Hong Kong bank deposit details (HKD bank corridor)
              title: Bank Deposit HK
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  pattern: ^\d+$
                  description: CNAPS / bank institution code (numeric, variable length)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city
                destinationState:
                  type: string
                  minLength: 1
                  description: >-
                    Province / state of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPostcode:
                  type: string
                  minLength: 1
                  description: >-
                    Postal code of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPhone:
                  type: string
                  description: >-
                    Phone number of the recipient, without country prefix
                    (optional; defaulted for CN when omitted)
                destinationTaxId:
                  type: string
                  description: >-
                    Unified Social Credit Code (USCC, GB 32100-2015) of the
                    recipient company — 18 characters including the check digit;
                    whitespace is removed and letters are normalized to
                    uppercase (optional)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - destinationBankName
                - destinationAddress
                - destinationCity
                - destinationState
                - destinationPostcode
                - type
              description: China mainland bank deposit details (CNY bank corridor)
              title: Bank Deposit CN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/ARS/networks (the
                    network selector, optional)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_AR
                destinationCBU:
                  type: string
                  description: CBU — 22-digit bank account key (legacy, optional)
                destinationCVU:
                  type: string
                  description: CVU — 22-digit virtual account key (legacy, optional)
                destinationAlias:
                  type: string
                  description: Account alias (legacy, optional)
                destinationTaxId:
                  type: string
                  description: >-
                    CUIT/CUIL tax ID of the recipient (required when creating
                    ARS bank destinations): exactly 11 digits with no hyphens,
                    spaces or other characters, and a valid check digit (e.g.
                    20000000001)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationTaxId
              description: Argentinian bank deposit details
              title: Bank Deposit AR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  minLength: 1
                  description: Recipient bank name (required for Chilean bank payouts)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CL
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: >-
                    Account type — corriente or ahorro (required for Chilean
                    bank payouts)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: >-
                    RUT tax ID of the recipient (required for Chilean bank
                    payouts)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankAccountType
                - destinationTaxId
              description: Chilean bank deposit details
              title: Bank Deposit CL
            - type: object
              properties:
                destinationName:
                  type: string
                  minLength: 2
                  maxLength: 30
                  description: Recipient name (required, 2–30 characters)
                destinationBankAccount:
                  type: string
                  minLength: 1
                  maxLength: 11
                  description: Bank account number (max 11 digits for Bolivian accounts)
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for BOB — no network discovery)
                destinationBankName:
                  type: string
                  maxLength: 20
                  description: Bank name (optional, max 20 characters)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BO
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 15
                  description: NIT tax ID of the recipient (required for Bolivian payouts)
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationTaxId
              description: Bolivian bank deposit details
              title: Bank Deposit BO
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/PEN/networks (the
                    network selector)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PE
                destinationCCI:
                  type: string
                  description: CCI — 20-digit interbank account code (legacy, optional)
                destinationBankAccountType:
                  type: string
                  description: Account type (corriente/ahorro) (legacy, optional)
                destinationTaxId:
                  type: string
                  description: DNI/RUC document ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationNetworkId
                - type
              description: >-
                Peruvian bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit PE
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{3}$
                  description: >-
                    Recipient bank code (the 3-digit code the rail expects, not
                    the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  maxLength: 20
                  description: Recipient bank account number (max 20)
                destinationBankAccountType:
                  type: string
                  enum:
                    - CORRIENTE
                    - AHORROS
                    - PHONE
                  description: Bank account type
                destinationCCI:
                  type: string
                  pattern: ^\d{1,20}$
                  description: >-
                    CCI — Peruvian interbank code (required, digits only, max
                    20)
                destinationDocumentType:
                  type: string
                  enum:
                    - CC
                    - CE
                    - RUC
                    - PAS
                    - PAR
                    - LMI
                    - OTHER
                  description: Recipient identification type
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: Recipient identification number (max 50)
                email:
                  type: string
                  pattern: ^.+@.+\..+$
                  description: Recipient email (required for PEN payouts)
                destinationPhoneNumber:
                  type: string
                  pattern: ^\d{1,9}$
                  description: Recipient phone number (required, max 9 digits)
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PEN
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationCCI
                - destinationDocumentType
                - destinationTaxId
                - email
                - destinationPhoneNumber
                - type
              description: Peruvian bank deposit details (bank-code payout corridor).
              title: Bank Deposit PEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_NG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Nigeria bank deposit details
              title: Bank Deposit NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_KE
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Kenya bank deposit details
              title: Bank Deposit KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_GH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Ghana bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZA
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: South Africa bank deposit details
              title: Bank Deposit ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TZ
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Tanzania bank deposit details
              title: Bank Deposit TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_UG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Uganda bank deposit details
              title: Bank Deposit UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_RW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Rwanda bank deposit details
              title: Bank Deposit RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Malawi bank deposit details
              title: Bank Deposit MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZM
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Zambia bank deposit details
              title: Bank Deposit ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Botswana bank deposit details
              title: Bank Deposit BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CD
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                DR Congo bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XOF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: West African CFA bank deposit details
              title: Bank Deposit XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XAF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Central African CFA bank deposit details
              title: Bank Deposit XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_NG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Nigeria mobile money details
              title: Mobile Money NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_KE
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Kenya mobile money details
              title: Mobile Money KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_GH
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                Ghana mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZA
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: South Africa mobile money details
              title: Mobile Money ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_TZ
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Tanzania mobile money details
              title: Mobile Money TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_UG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Uganda mobile money details
              title: Mobile Money UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_RW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Rwanda mobile money details
              title: Mobile Money RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_MW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Malawi mobile money details
              title: Mobile Money MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZM
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Zambia mobile money details
              title: Mobile Money ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_BW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Botswana mobile money details
              title: Mobile Money BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_CD
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                DR Congo mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XOF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: West African CFA mobile money details
              title: Mobile Money XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XAF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Central African CFA mobile money details
              title: Mobile Money XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number (18-digit CLABE)
                numericReference:
                  type: string
                  description: Numeric reference
                notesReference:
                  type: string
                  description: Notes reference
                destinationClabe:
                  type: string
                  description: CLABE — legacy alias, prefer destinationBankAccountNumber
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient tax id (RFC) — required by some MX bank-deposit
                    rails ("Número de Identificación"); optional otherwise
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MX
              required:
                - destinationName
                - destinationBankAccountNumber
                - type
              description: Mexican bank deposit details
              title: Bank Deposit MX
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPseNumber:
                  type: string
                  description: PSE number
                type:
                  type: string
                  enum:
                    - PSE
              required:
                - destinationName
                - destinationPseNumber
                - type
              description: >-
                PSE transfer details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: PSE
              deprecated: true
          description: >-
            Payout destination details. The `type` field selects the rail.
            Representative values: `SEPA` (EUR bank, requires IBAN), `PIX_BR`
            (Brazilian PIX instant), `BANK_DEPOSIT_VEN` (Venezuelan bank
            transfer — account number, bank code, tax ID), `PHONE_DEPOSIT_VEN`
            (Venezuelan phone-based payout — phone number, bank code, tax ID),
            `MATIC` / `ETH` / `TRON` (crypto wallet with `address` field). Use
            GET /v1/currencies to discover available rails and their required
            fields. Either this field or `destinationTranferId` must be
            provided.
          title: WithdrawalInfo
          example:
            type: SEPA
            destinationName: John Doe
            iban: ES9121000418450200051332
            bic: CAIXESBBXXX
            country: ES
            address: Calle Mayor 1
        beneficiary:
          type: object
          properties:
            name:
              type: string
              minLength: 1
              maxLength: 140
            surname:
              type: string
              minLength: 1
              maxLength: 140
            relationship:
              type: string
              enum:
                - third_party
          required:
            - name
            - surname
            - relationship
          additionalProperties: false
          description: >-
            Declare the destination owner when the payout is NOT to the holder’s
            own wallet. Omit for own-wallet payouts.
      required:
        - amount
        - currency
        - userEmail
      description: Request schema for creating a withdrawal
    CreateWithdrawalResponse:
      type: object
      properties:
        withdrawalId:
          anyOf:
            - type: string
              minLength: 12
              maxLength: 12
              pattern: ^[A-Z0-9]{12}$
              examples:
                - 01CLFXMT67II
                - 2R7E5Y5KFXP8
                - 4FWWRE3Y2URM
            - type: string
              format: uuid
          description: ID of the withdrawal
        userData:
          oneOf:
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - individual
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: >-
                    Last name of the user making the deposit (or representative
                    for business)
                  examples:
                    - Doe
                    - Smith
                    - Johnson
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - firstName
                - userEmail
                - country
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - business
                businessName:
                  type: string
                  maxLength: 150
                  description: Business name (required when userType is business)
                  examples:
                    - Acme Corp
                    - Tech Solutions Inc
                    - Global Services Ltd
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - businessName
                - firstName
                - userEmail
                - country
          description: User data for the withdrawal
        createdAt:
          type: number
          description: Creation time of the withdrawal
          example: 1723027132
        updatedAt:
          type: number
          description: Last update time of the withdrawal
          example: 1723027132
        userEmail:
          type: string
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: Email of the user making the request
          example: user@example.com
        amount:
          type: number
          description: >-
            Amount to be withdrawn. This value is written once the withdrawal
            has been executed. Meanwhile it will appear 0.
          example: 1000
        currency:
          type: string
          description: Currency of the withdrawal
          example: EUR
        fee:
          type: number
          description: >-
            Fee for the withdrawal. This value is written once the withdrawal
            has been executed. Meanwhile it will appear 0.
          example: 10
        feeCurrency:
          type: string
          description: Currency of the fee
          example: EUR
        destinationTransferData:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BALANCE
              required:
                - type
              description: Balance transfer details
              title: Balance
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                iban:
                  type: string
                  description: IBAN number
                bic:
                  type: string
                  description: BIC number (optional)
                country:
                  type: string
                  description: Country code
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for SEPA payouts — provide
                    it here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for SEPA payouts —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as the
                    payout beneficiary `address.line1` when registering the
                    beneficiary. Stored on the saved transaction method so the
                    user does not have to re-supply it on every withdraw.
                type:
                  type: string
                  enum:
                    - SEPA
              required:
                - destinationName
                - iban
                - country
                - type
              description: SEPA transfer details
              title: SEPA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: UK bank account number
                sortCode:
                  type: string
                  description: UK sort code
                country:
                  type: string
                  enum:
                    - GB
                  default: GB
                  description: >-
                    ISO 3166 country code of the recipient (GBP transfer is
                    UK-based)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - GBP_BANK_TRANSFER
              required:
                - destinationName
                - accountNumber
                - sortCode
                - type
              description: GBP domestic bank transfer details
              title: BankDepositGB
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: US bank account number
                routingNumber:
                  type: string
                  description: US ABA routing number
                country:
                  type: string
                  enum:
                    - US
                  default: US
                  description: ISO 3166 country code of the recipient (ACH is US-domestic)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                bankAccountType:
                  type: string
                  enum:
                    - CHECKING
                    - SAVINGS
                  default: CHECKING
                  description: >-
                    Kind of bank account the payout lands in. Defaults to
                    CHECKING when omitted.
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                state:
                  type: string
                  pattern: ^[A-Z]{2}$
                  description: >-
                    Two-letter US state code of the recipient (e.g. NY).
                    REQUIRED for this rail.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - ACH_US
              required:
                - destinationName
                - accountNumber
                - routingNumber
                - state
                - type
              description: USD ACH transfer details
              title: AchUS
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - linkedBankAccount
                accountLinkId:
                  type: string
                  pattern: ^alnk_[0-9a-f]{24}$
                  description: >-
                    Identifier of one of the account holder own linked bank
                    accounts
                  examples:
                    - alnk_0123456789abcdef01234567
              required:
                - type
                - accountLinkId
              description: >-
                A bank account the account holder linked beforehand. Pays out
                only to the holder of the order; never to a third party. Not
                available yet.
              title: LinkedBankAccount
              deprecated: true
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ETH
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ETH destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ETH
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - MATIC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: MATIC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: MATIC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOL
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOL destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOL
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - TRON
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: TRON destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: TRON
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CELO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CELO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: CELO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BTC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BTC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: BTC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOLANA
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOLANA destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOLANA
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - XRP
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: XRP destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: XRP
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CARDANO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CARDANO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: CARDANO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BSC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BSC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BSC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ARBITRUM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ARBITRUM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ARBITRUM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - OPTIMISM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: OPTIMISM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: OPTIMISM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - AVALANCHE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: AVALANCHE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: AVALANCHE
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BASE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BASE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BASE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/COP/networks. Not
                    read by the payout; retained for the network selector and
                    for stored records.
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_COL
                destinationBankCode:
                  type: string
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET
                    /v1/currencies/COP/destination-schema?method=bankDepositCOL
                    (the code, not the name). Required when creating or updating
                    a destination.
                destinationBankAccountType:
                  type: string
                  description: >-
                    Bank account type — CORRIENTE or AHORRO. Required when
                    creating or updating a destination.
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient ID document number. Required when creating or
                    updating a destination.
                destinationDocumentType:
                  type: string
                  description: >-
                    Recipient ID document type — CC, CE, NIT, TI or PP. Required
                    when creating or updating a destination.
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Colombian bank deposit details. Equivalent to ACH_COP — same
                payout rail, same required fields, same bank roster; ACH_COP is
                recommended for new integrations. Note that BANK_DEPOSIT_COL is
                also the name of a COP collection rail.
              title: Bank Deposit COL
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                brebKey:
                  type: string
                  minLength: 1
                  description: Bre-B key (llave) that identifies the recipient account
                email:
                  type: string
                  description: Recipient email (optional contact for the Bre-B rail)
                destinationPhoneNumber:
                  type: string
                  description: Recipient phone number (optional contact for the Bre-B rail)
                type:
                  type: string
                  enum:
                    - BRE_B_COP
              required:
                - destinationName
                - brebKey
                - type
              description: Colombian Bre-B payout details
              title: Bre-B COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{4}$
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET /v1/currencies/COP/destination-schema?method=achCOP (the
                    code, not the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  description: Recipient bank account number
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: Bank account type (e.g. AHORROS / CORRIENTE)
                destinationDocumentType:
                  type: string
                  minLength: 1
                  description: Recipient ID document type (e.g. CC / CE / NIT)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: Recipient ID document number
                type:
                  type: string
                  enum:
                    - ACH_COP
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationDocumentType
                - destinationTaxId
                - type
              description: Colombian ACH payout details
              title: ACH COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for TWD — no network discovery)
                destinationBankName:
                  type: string
                  minLength: 2
                  description: Bank name (required — TWD payouts run over SWIFT)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TW
                destinationBankBranch:
                  type: string
                  minLength: 2
                  description: Bank branch (required — TWD payouts run over SWIFT)
                bic:
                  type: string
                  pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                  description: SWIFT BIC code (required for TWD payouts)
                destinationBankAccountType:
                  type: string
                  description: Type of bank account (legacy, optional)
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankBranch
                - bic
              description: Taiwan bank deposit details (SWIFT payout)
              title: Bank Deposit TW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankBranch:
                  type: string
                  description: Bank branch
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BR
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccount
                - destinationBankBranch
                - destinationTaxId
                - type
              description: Brazilian bank deposit details
              title: Bank Deposit BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPixCode:
                  type: string
                  description: PIX code
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - PIX_BR
              required:
                - destinationName
                - destinationPixCode
                - destinationTaxId
                - type
              description: Brazilian PIX details
              title: PIX BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number
                destinationBankName:
                  type: string
                  description: Name of the bank
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankAccountNumber
                - destinationBankName
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan bank deposit details
              title: Bank Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - PHONE_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankCode
                - destinationPhoneNumber
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan phone deposit details
              title: Phone Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_IN
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - IMPS
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India IMPS details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: IMPS
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - THAI_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Thailand Thai QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Thai QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - VIET_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Vietnam Viet QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Viet QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - GCASH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Philippines GCash details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: GCash
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  description: Tax ID
                type:
                  type: string
                  enum:
                    - MOBILE_PAYMENT_IN
              required:
                - destinationName
                - destinationPhoneNumber
                - destinationTaxId
                - type
              description: >-
                India mobile payment details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Payment IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  description: Bank code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - type
              description: >-
                Vietnam bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit VN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                bic:
                  type: string
                  description: >-
                    SWIFT BIC code (required for HKD payouts via the HK bank
                    corridor)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city (defaults to Hong Kong)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_HK
              required:
                - destinationName
                - destinationBankAccount
                - bic
                - destinationBankName
                - destinationAddress
                - type
              description: Hong Kong bank deposit details (HKD bank corridor)
              title: Bank Deposit HK
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  pattern: ^\d+$
                  description: CNAPS / bank institution code (numeric, variable length)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city
                destinationState:
                  type: string
                  minLength: 1
                  description: >-
                    Province / state of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPostcode:
                  type: string
                  minLength: 1
                  description: >-
                    Postal code of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPhone:
                  type: string
                  description: >-
                    Phone number of the recipient, without country prefix
                    (optional; defaulted for CN when omitted)
                destinationTaxId:
                  type: string
                  description: >-
                    Unified Social Credit Code (USCC, GB 32100-2015) of the
                    recipient company — 18 characters including the check digit;
                    whitespace is removed and letters are normalized to
                    uppercase (optional)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - destinationBankName
                - destinationAddress
                - destinationCity
                - destinationState
                - destinationPostcode
                - type
              description: China mainland bank deposit details (CNY bank corridor)
              title: Bank Deposit CN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/ARS/networks (the
                    network selector, optional)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_AR
                destinationCBU:
                  type: string
                  description: CBU — 22-digit bank account key (legacy, optional)
                destinationCVU:
                  type: string
                  description: CVU — 22-digit virtual account key (legacy, optional)
                destinationAlias:
                  type: string
                  description: Account alias (legacy, optional)
                destinationTaxId:
                  type: string
                  description: >-
                    CUIT/CUIL tax ID of the recipient (required when creating
                    ARS bank destinations): exactly 11 digits with no hyphens,
                    spaces or other characters, and a valid check digit (e.g.
                    20000000001)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Argentinian bank deposit details
              title: Bank Deposit AR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  minLength: 1
                  description: Recipient bank name (required for Chilean bank payouts)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CL
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: >-
                    Account type — corriente or ahorro (required for Chilean
                    bank payouts)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: >-
                    RUT tax ID of the recipient (required for Chilean bank
                    payouts)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankAccountType
                - destinationTaxId
              description: Chilean bank deposit details
              title: Bank Deposit CL
            - type: object
              properties:
                destinationName:
                  type: string
                  minLength: 2
                  maxLength: 30
                  description: Recipient name (required, 2–30 characters)
                destinationBankAccount:
                  type: string
                  minLength: 1
                  maxLength: 11
                  description: Bank account number (max 11 digits for Bolivian accounts)
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for BOB — no network discovery)
                destinationBankName:
                  type: string
                  maxLength: 20
                  description: Bank name (optional, max 20 characters)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BO
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 15
                  description: NIT tax ID of the recipient (required for Bolivian payouts)
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationTaxId
              description: Bolivian bank deposit details
              title: Bank Deposit BO
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/PEN/networks (the
                    network selector)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PE
                destinationCCI:
                  type: string
                  description: CCI — 20-digit interbank account code (legacy, optional)
                destinationBankAccountType:
                  type: string
                  description: Account type (corriente/ahorro) (legacy, optional)
                destinationTaxId:
                  type: string
                  description: DNI/RUC document ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationNetworkId
                - type
              description: >-
                Peruvian bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit PE
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{3}$
                  description: >-
                    Recipient bank code (the 3-digit code the rail expects, not
                    the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  maxLength: 20
                  description: Recipient bank account number (max 20)
                destinationBankAccountType:
                  type: string
                  enum:
                    - CORRIENTE
                    - AHORROS
                    - PHONE
                  description: Bank account type
                destinationCCI:
                  type: string
                  pattern: ^\d{1,20}$
                  description: >-
                    CCI — Peruvian interbank code (required, digits only, max
                    20)
                destinationDocumentType:
                  type: string
                  enum:
                    - CC
                    - CE
                    - RUC
                    - PAS
                    - PAR
                    - LMI
                    - OTHER
                  description: Recipient identification type
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: Recipient identification number (max 50)
                email:
                  type: string
                  pattern: ^.+@.+\..+$
                  description: Recipient email (required for PEN payouts)
                destinationPhoneNumber:
                  type: string
                  pattern: ^\d{1,9}$
                  description: Recipient phone number (required, max 9 digits)
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PEN
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationCCI
                - destinationDocumentType
                - destinationTaxId
                - email
                - destinationPhoneNumber
                - type
              description: Peruvian bank deposit details (bank-code payout corridor).
              title: Bank Deposit PEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_NG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Nigeria bank deposit details
              title: Bank Deposit NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_KE
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Kenya bank deposit details
              title: Bank Deposit KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_GH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Ghana bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZA
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: South Africa bank deposit details
              title: Bank Deposit ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TZ
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Tanzania bank deposit details
              title: Bank Deposit TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_UG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Uganda bank deposit details
              title: Bank Deposit UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_RW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Rwanda bank deposit details
              title: Bank Deposit RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Malawi bank deposit details
              title: Bank Deposit MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZM
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Zambia bank deposit details
              title: Bank Deposit ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Botswana bank deposit details
              title: Bank Deposit BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CD
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                DR Congo bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XOF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: West African CFA bank deposit details
              title: Bank Deposit XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XAF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Central African CFA bank deposit details
              title: Bank Deposit XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_NG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Nigeria mobile money details
              title: Mobile Money NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_KE
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Kenya mobile money details
              title: Mobile Money KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_GH
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                Ghana mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZA
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: South Africa mobile money details
              title: Mobile Money ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_TZ
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Tanzania mobile money details
              title: Mobile Money TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_UG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Uganda mobile money details
              title: Mobile Money UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_RW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Rwanda mobile money details
              title: Mobile Money RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_MW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Malawi mobile money details
              title: Mobile Money MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZM
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Zambia mobile money details
              title: Mobile Money ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_BW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Botswana mobile money details
              title: Mobile Money BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_CD
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                DR Congo mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XOF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: West African CFA mobile money details
              title: Mobile Money XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XAF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Central African CFA mobile money details
              title: Mobile Money XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number (18-digit CLABE)
                numericReference:
                  type: string
                  description: Numeric reference
                notesReference:
                  type: string
                  description: Notes reference
                destinationClabe:
                  type: string
                  description: CLABE — legacy alias, prefer destinationBankAccountNumber
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient tax id (RFC) — required by some MX bank-deposit
                    rails ("Número de Identificación"); optional otherwise
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MX
              required:
                - destinationName
                - destinationBankAccountNumber
                - type
              description: Mexican bank deposit details
              title: Bank Deposit MX
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPseNumber:
                  type: string
                  description: PSE number
                type:
                  type: string
                  enum:
                    - PSE
              required:
                - destinationName
                - destinationPseNumber
                - type
              description: >-
                PSE transfer details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: PSE
              deprecated: true
          description: The details required for the end user destination transfer method.
        status:
          anyOf:
            - type: string
              enum:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
              description: Common status values that are shared across all operation types
              examples:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
            - type: string
              enum:
                - PendingCancel
                - PendingWithdrawal
                - PendingVerification
                - Pending2FA
                - Compliance
                - Accepted
                - Approved
                - Rejected
                - Review
          description: Status of the withdrawal
          examples:
            - Pending
            - Pending2FA
            - Compliance
            - Accepted
            - Approved
            - Success
            - Failed
            - Review
            - Rejected
        withdrawalInfo:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BALANCE
              required:
                - type
              description: Balance transfer details
              title: Balance
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                iban:
                  type: string
                  description: IBAN number
                bic:
                  type: string
                  description: BIC number (optional)
                country:
                  type: string
                  description: Country code
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for SEPA payouts — provide
                    it here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for SEPA payouts —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as the
                    payout beneficiary `address.line1` when registering the
                    beneficiary. Stored on the saved transaction method so the
                    user does not have to re-supply it on every withdraw.
                type:
                  type: string
                  enum:
                    - SEPA
              required:
                - destinationName
                - iban
                - country
                - type
              description: SEPA transfer details
              title: SEPA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: UK bank account number
                sortCode:
                  type: string
                  description: UK sort code
                country:
                  type: string
                  enum:
                    - GB
                  default: GB
                  description: >-
                    ISO 3166 country code of the recipient (GBP transfer is
                    UK-based)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - GBP_BANK_TRANSFER
              required:
                - destinationName
                - accountNumber
                - sortCode
                - type
              description: GBP domestic bank transfer details
              title: BankDepositGB
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: US bank account number
                routingNumber:
                  type: string
                  description: US ABA routing number
                country:
                  type: string
                  enum:
                    - US
                  default: US
                  description: ISO 3166 country code of the recipient (ACH is US-domestic)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                bankAccountType:
                  type: string
                  enum:
                    - CHECKING
                    - SAVINGS
                  default: CHECKING
                  description: >-
                    Kind of bank account the payout lands in. Defaults to
                    CHECKING when omitted.
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                state:
                  type: string
                  pattern: ^[A-Z]{2}$
                  description: >-
                    Two-letter US state code of the recipient (e.g. NY).
                    REQUIRED for this rail.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - ACH_US
              required:
                - destinationName
                - accountNumber
                - routingNumber
                - state
                - type
              description: USD ACH transfer details
              title: AchUS
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - linkedBankAccount
                accountLinkId:
                  type: string
                  pattern: ^alnk_[0-9a-f]{24}$
                  description: >-
                    Identifier of one of the account holder own linked bank
                    accounts
                  examples:
                    - alnk_0123456789abcdef01234567
              required:
                - type
                - accountLinkId
              description: >-
                A bank account the account holder linked beforehand. Pays out
                only to the holder of the order; never to a third party. Not
                available yet.
              title: LinkedBankAccount
              deprecated: true
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ETH
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ETH destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ETH
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - MATIC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: MATIC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: MATIC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOL
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOL destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOL
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - TRON
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: TRON destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: TRON
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CELO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CELO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: CELO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BTC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BTC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: BTC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOLANA
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOLANA destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOLANA
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - XRP
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: XRP destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: XRP
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CARDANO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CARDANO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: CARDANO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BSC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BSC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BSC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ARBITRUM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ARBITRUM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ARBITRUM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - OPTIMISM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: OPTIMISM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: OPTIMISM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - AVALANCHE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: AVALANCHE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: AVALANCHE
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BASE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BASE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BASE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/COP/networks. Not
                    read by the payout; retained for the network selector and
                    for stored records.
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_COL
                destinationBankCode:
                  type: string
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET
                    /v1/currencies/COP/destination-schema?method=bankDepositCOL
                    (the code, not the name). Required when creating or updating
                    a destination.
                destinationBankAccountType:
                  type: string
                  description: >-
                    Bank account type — CORRIENTE or AHORRO. Required when
                    creating or updating a destination.
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient ID document number. Required when creating or
                    updating a destination.
                destinationDocumentType:
                  type: string
                  description: >-
                    Recipient ID document type — CC, CE, NIT, TI or PP. Required
                    when creating or updating a destination.
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Colombian bank deposit details. Equivalent to ACH_COP — same
                payout rail, same required fields, same bank roster; ACH_COP is
                recommended for new integrations. Note that BANK_DEPOSIT_COL is
                also the name of a COP collection rail.
              title: Bank Deposit COL
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                brebKey:
                  type: string
                  minLength: 1
                  description: Bre-B key (llave) that identifies the recipient account
                email:
                  type: string
                  description: Recipient email (optional contact for the Bre-B rail)
                destinationPhoneNumber:
                  type: string
                  description: Recipient phone number (optional contact for the Bre-B rail)
                type:
                  type: string
                  enum:
                    - BRE_B_COP
              required:
                - destinationName
                - brebKey
                - type
              description: Colombian Bre-B payout details
              title: Bre-B COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{4}$
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET /v1/currencies/COP/destination-schema?method=achCOP (the
                    code, not the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  description: Recipient bank account number
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: Bank account type (e.g. AHORROS / CORRIENTE)
                destinationDocumentType:
                  type: string
                  minLength: 1
                  description: Recipient ID document type (e.g. CC / CE / NIT)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: Recipient ID document number
                type:
                  type: string
                  enum:
                    - ACH_COP
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationDocumentType
                - destinationTaxId
                - type
              description: Colombian ACH payout details
              title: ACH COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for TWD — no network discovery)
                destinationBankName:
                  type: string
                  minLength: 2
                  description: Bank name (required — TWD payouts run over SWIFT)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TW
                destinationBankBranch:
                  type: string
                  minLength: 2
                  description: Bank branch (required — TWD payouts run over SWIFT)
                bic:
                  type: string
                  pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                  description: SWIFT BIC code (required for TWD payouts)
                destinationBankAccountType:
                  type: string
                  description: Type of bank account (legacy, optional)
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankBranch
                - bic
              description: Taiwan bank deposit details (SWIFT payout)
              title: Bank Deposit TW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankBranch:
                  type: string
                  description: Bank branch
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BR
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccount
                - destinationBankBranch
                - destinationTaxId
                - type
              description: Brazilian bank deposit details
              title: Bank Deposit BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPixCode:
                  type: string
                  description: PIX code
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - PIX_BR
              required:
                - destinationName
                - destinationPixCode
                - destinationTaxId
                - type
              description: Brazilian PIX details
              title: PIX BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number
                destinationBankName:
                  type: string
                  description: Name of the bank
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankAccountNumber
                - destinationBankName
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan bank deposit details
              title: Bank Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - PHONE_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankCode
                - destinationPhoneNumber
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan phone deposit details
              title: Phone Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_IN
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - IMPS
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India IMPS details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: IMPS
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - THAI_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Thailand Thai QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Thai QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - VIET_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Vietnam Viet QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Viet QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - GCASH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Philippines GCash details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: GCash
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  description: Tax ID
                type:
                  type: string
                  enum:
                    - MOBILE_PAYMENT_IN
              required:
                - destinationName
                - destinationPhoneNumber
                - destinationTaxId
                - type
              description: >-
                India mobile payment details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Payment IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  description: Bank code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - type
              description: >-
                Vietnam bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit VN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                bic:
                  type: string
                  description: >-
                    SWIFT BIC code (required for HKD payouts via the HK bank
                    corridor)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city (defaults to Hong Kong)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_HK
              required:
                - destinationName
                - destinationBankAccount
                - bic
                - destinationBankName
                - destinationAddress
                - type
              description: Hong Kong bank deposit details (HKD bank corridor)
              title: Bank Deposit HK
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  pattern: ^\d+$
                  description: CNAPS / bank institution code (numeric, variable length)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city
                destinationState:
                  type: string
                  minLength: 1
                  description: >-
                    Province / state of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPostcode:
                  type: string
                  minLength: 1
                  description: >-
                    Postal code of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPhone:
                  type: string
                  description: >-
                    Phone number of the recipient, without country prefix
                    (optional; defaulted for CN when omitted)
                destinationTaxId:
                  type: string
                  description: >-
                    Unified Social Credit Code (USCC, GB 32100-2015) of the
                    recipient company — 18 characters including the check digit;
                    whitespace is removed and letters are normalized to
                    uppercase (optional)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - destinationBankName
                - destinationAddress
                - destinationCity
                - destinationState
                - destinationPostcode
                - type
              description: China mainland bank deposit details (CNY bank corridor)
              title: Bank Deposit CN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/ARS/networks (the
                    network selector, optional)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_AR
                destinationCBU:
                  type: string
                  description: CBU — 22-digit bank account key (legacy, optional)
                destinationCVU:
                  type: string
                  description: CVU — 22-digit virtual account key (legacy, optional)
                destinationAlias:
                  type: string
                  description: Account alias (legacy, optional)
                destinationTaxId:
                  type: string
                  description: >-
                    CUIT/CUIL tax ID of the recipient (required when creating
                    ARS bank destinations): exactly 11 digits with no hyphens,
                    spaces or other characters, and a valid check digit (e.g.
                    20000000001)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Argentinian bank deposit details
              title: Bank Deposit AR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  minLength: 1
                  description: Recipient bank name (required for Chilean bank payouts)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CL
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: >-
                    Account type — corriente or ahorro (required for Chilean
                    bank payouts)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: >-
                    RUT tax ID of the recipient (required for Chilean bank
                    payouts)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankAccountType
                - destinationTaxId
              description: Chilean bank deposit details
              title: Bank Deposit CL
            - type: object
              properties:
                destinationName:
                  type: string
                  minLength: 2
                  maxLength: 30
                  description: Recipient name (required, 2–30 characters)
                destinationBankAccount:
                  type: string
                  minLength: 1
                  maxLength: 11
                  description: Bank account number (max 11 digits for Bolivian accounts)
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for BOB — no network discovery)
                destinationBankName:
                  type: string
                  maxLength: 20
                  description: Bank name (optional, max 20 characters)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BO
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 15
                  description: NIT tax ID of the recipient (required for Bolivian payouts)
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationTaxId
              description: Bolivian bank deposit details
              title: Bank Deposit BO
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/PEN/networks (the
                    network selector)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PE
                destinationCCI:
                  type: string
                  description: CCI — 20-digit interbank account code (legacy, optional)
                destinationBankAccountType:
                  type: string
                  description: Account type (corriente/ahorro) (legacy, optional)
                destinationTaxId:
                  type: string
                  description: DNI/RUC document ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationNetworkId
                - type
              description: >-
                Peruvian bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit PE
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{3}$
                  description: >-
                    Recipient bank code (the 3-digit code the rail expects, not
                    the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  maxLength: 20
                  description: Recipient bank account number (max 20)
                destinationBankAccountType:
                  type: string
                  enum:
                    - CORRIENTE
                    - AHORROS
                    - PHONE
                  description: Bank account type
                destinationCCI:
                  type: string
                  pattern: ^\d{1,20}$
                  description: >-
                    CCI — Peruvian interbank code (required, digits only, max
                    20)
                destinationDocumentType:
                  type: string
                  enum:
                    - CC
                    - CE
                    - RUC
                    - PAS
                    - PAR
                    - LMI
                    - OTHER
                  description: Recipient identification type
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: Recipient identification number (max 50)
                email:
                  type: string
                  pattern: ^.+@.+\..+$
                  description: Recipient email (required for PEN payouts)
                destinationPhoneNumber:
                  type: string
                  pattern: ^\d{1,9}$
                  description: Recipient phone number (required, max 9 digits)
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PEN
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationCCI
                - destinationDocumentType
                - destinationTaxId
                - email
                - destinationPhoneNumber
                - type
              description: Peruvian bank deposit details (bank-code payout corridor).
              title: Bank Deposit PEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_NG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Nigeria bank deposit details
              title: Bank Deposit NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_KE
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Kenya bank deposit details
              title: Bank Deposit KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_GH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Ghana bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZA
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: South Africa bank deposit details
              title: Bank Deposit ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TZ
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Tanzania bank deposit details
              title: Bank Deposit TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_UG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Uganda bank deposit details
              title: Bank Deposit UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_RW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Rwanda bank deposit details
              title: Bank Deposit RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Malawi bank deposit details
              title: Bank Deposit MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZM
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Zambia bank deposit details
              title: Bank Deposit ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Botswana bank deposit details
              title: Bank Deposit BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CD
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                DR Congo bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XOF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: West African CFA bank deposit details
              title: Bank Deposit XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XAF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Central African CFA bank deposit details
              title: Bank Deposit XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_NG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Nigeria mobile money details
              title: Mobile Money NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_KE
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Kenya mobile money details
              title: Mobile Money KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_GH
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                Ghana mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZA
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: South Africa mobile money details
              title: Mobile Money ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_TZ
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Tanzania mobile money details
              title: Mobile Money TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_UG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Uganda mobile money details
              title: Mobile Money UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_RW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Rwanda mobile money details
              title: Mobile Money RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_MW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Malawi mobile money details
              title: Mobile Money MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZM
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Zambia mobile money details
              title: Mobile Money ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_BW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Botswana mobile money details
              title: Mobile Money BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_CD
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                DR Congo mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XOF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: West African CFA mobile money details
              title: Mobile Money XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XAF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Central African CFA mobile money details
              title: Mobile Money XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number (18-digit CLABE)
                numericReference:
                  type: string
                  description: Numeric reference
                notesReference:
                  type: string
                  description: Notes reference
                destinationClabe:
                  type: string
                  description: CLABE — legacy alias, prefer destinationBankAccountNumber
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient tax id (RFC) — required by some MX bank-deposit
                    rails ("Número de Identificación"); optional otherwise
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MX
              required:
                - destinationName
                - destinationBankAccountNumber
                - type
              description: Mexican bank deposit details
              title: Bank Deposit MX
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPseNumber:
                  type: string
                  description: PSE number
                type:
                  type: string
                  enum:
                    - PSE
              required:
                - destinationName
                - destinationPseNumber
                - type
              description: >-
                PSE transfer details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: PSE
              deprecated: true
          description: Detailed withdrawal information
          title: WithdrawalInfo
        source:
          type: string
          enum:
            - ui
            - apiApp
            - externalApi
            - internal
          description: Source of withdrawal creation
          example: externalApi
        requires2FA:
          type: boolean
          description: Whether 2FA is required for this withdrawal
          example: false
        twoFactorToken:
          type: string
          description: 2FA token for email approval
          example: abc123
        twoFactorApprovedAt:
          type: number
          description: Timestamp when 2FA was approved
          example: 1723027132
        errorCode:
          type: string
          description: Error code when status is Review
          example: INSUFFICIENT_BALANCE
        errorDetails:
          type: string
          description: Detailed error information
          example: Insufficient balance for withdrawal
        reviewedBy:
          type: string
          description: Admin email who reviewed the withdrawal
          example: admin@example.com
        reviewedAt:
          type: number
          description: Timestamp when review happened
          example: 1723027132
      required:
        - withdrawalId
        - createdAt
        - amount
        - currency
        - fee
        - feeCurrency
        - status
      description: Response schema for creating a withdrawal
    GetWithdrawalRequest:
      type: object
      properties:
        withdrawalId:
          type: string
          description: ID of the withdrawal
        userEmail:
          type: string
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: Email of the user making the request
          example: user@example.com
      required:
        - withdrawalId
      description: Request schema for getting withdrawal details
    GetWithdrawalResponse:
      type: object
      properties:
        withdrawalId:
          anyOf:
            - type: string
              minLength: 12
              maxLength: 12
              pattern: ^[A-Z0-9]{12}$
              examples:
                - 01CLFXMT67II
                - 2R7E5Y5KFXP8
                - 4FWWRE3Y2URM
            - type: string
              format: uuid
          description: ID of the withdrawal
        userData:
          oneOf:
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - individual
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: >-
                    Last name of the user making the deposit (or representative
                    for business)
                  examples:
                    - Doe
                    - Smith
                    - Johnson
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - firstName
                - userEmail
                - country
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - business
                businessName:
                  type: string
                  maxLength: 150
                  description: Business name (required when userType is business)
                  examples:
                    - Acme Corp
                    - Tech Solutions Inc
                    - Global Services Ltd
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - businessName
                - firstName
                - userEmail
                - country
          description: User data for the withdrawal
        createdAt:
          type: number
          description: Creation time of the withdrawal
          example: 1723027132
        updatedAt:
          type: number
          description: Last update time of the withdrawal
          example: 1723027132
        userEmail:
          type: string
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: Email of the user making the request
          example: user@example.com
        amount:
          type: number
          description: >-
            Amount to be withdrawn. This value is written once the withdrawal
            has been executed. Meanwhile it will appear 0.
          example: 1000
        currency:
          type: string
          description: Currency of the withdrawal
          example: EUR
        fee:
          type: number
          description: >-
            Fee for the withdrawal. This value is written once the withdrawal
            has been executed. Meanwhile it will appear 0.
          example: 10
        feeCurrency:
          type: string
          description: Currency of the fee
          example: EUR
        destinationTransferData:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BALANCE
              required:
                - type
              description: Balance transfer details
              title: Balance
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                iban:
                  type: string
                  description: IBAN number
                bic:
                  type: string
                  description: BIC number (optional)
                country:
                  type: string
                  description: Country code
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for SEPA payouts — provide
                    it here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for SEPA payouts —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as the
                    payout beneficiary `address.line1` when registering the
                    beneficiary. Stored on the saved transaction method so the
                    user does not have to re-supply it on every withdraw.
                type:
                  type: string
                  enum:
                    - SEPA
              required:
                - destinationName
                - iban
                - country
                - type
              description: SEPA transfer details
              title: SEPA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: UK bank account number
                sortCode:
                  type: string
                  description: UK sort code
                country:
                  type: string
                  enum:
                    - GB
                  default: GB
                  description: >-
                    ISO 3166 country code of the recipient (GBP transfer is
                    UK-based)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - GBP_BANK_TRANSFER
              required:
                - destinationName
                - accountNumber
                - sortCode
                - type
              description: GBP domestic bank transfer details
              title: BankDepositGB
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: US bank account number
                routingNumber:
                  type: string
                  description: US ABA routing number
                country:
                  type: string
                  enum:
                    - US
                  default: US
                  description: ISO 3166 country code of the recipient (ACH is US-domestic)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                bankAccountType:
                  type: string
                  enum:
                    - CHECKING
                    - SAVINGS
                  default: CHECKING
                  description: >-
                    Kind of bank account the payout lands in. Defaults to
                    CHECKING when omitted.
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                state:
                  type: string
                  pattern: ^[A-Z]{2}$
                  description: >-
                    Two-letter US state code of the recipient (e.g. NY).
                    REQUIRED for this rail.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - ACH_US
              required:
                - destinationName
                - accountNumber
                - routingNumber
                - state
                - type
              description: USD ACH transfer details
              title: AchUS
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - linkedBankAccount
                accountLinkId:
                  type: string
                  pattern: ^alnk_[0-9a-f]{24}$
                  description: >-
                    Identifier of one of the account holder own linked bank
                    accounts
                  examples:
                    - alnk_0123456789abcdef01234567
              required:
                - type
                - accountLinkId
              description: >-
                A bank account the account holder linked beforehand. Pays out
                only to the holder of the order; never to a third party. Not
                available yet.
              title: LinkedBankAccount
              deprecated: true
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ETH
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ETH destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ETH
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - MATIC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: MATIC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: MATIC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOL
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOL destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOL
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - TRON
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: TRON destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: TRON
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CELO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CELO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: CELO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BTC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BTC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: BTC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOLANA
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOLANA destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOLANA
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - XRP
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: XRP destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: XRP
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CARDANO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CARDANO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: CARDANO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BSC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BSC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BSC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ARBITRUM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ARBITRUM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ARBITRUM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - OPTIMISM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: OPTIMISM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: OPTIMISM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - AVALANCHE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: AVALANCHE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: AVALANCHE
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BASE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BASE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BASE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/COP/networks. Not
                    read by the payout; retained for the network selector and
                    for stored records.
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_COL
                destinationBankCode:
                  type: string
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET
                    /v1/currencies/COP/destination-schema?method=bankDepositCOL
                    (the code, not the name). Required when creating or updating
                    a destination.
                destinationBankAccountType:
                  type: string
                  description: >-
                    Bank account type — CORRIENTE or AHORRO. Required when
                    creating or updating a destination.
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient ID document number. Required when creating or
                    updating a destination.
                destinationDocumentType:
                  type: string
                  description: >-
                    Recipient ID document type — CC, CE, NIT, TI or PP. Required
                    when creating or updating a destination.
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Colombian bank deposit details. Equivalent to ACH_COP — same
                payout rail, same required fields, same bank roster; ACH_COP is
                recommended for new integrations. Note that BANK_DEPOSIT_COL is
                also the name of a COP collection rail.
              title: Bank Deposit COL
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                brebKey:
                  type: string
                  minLength: 1
                  description: Bre-B key (llave) that identifies the recipient account
                email:
                  type: string
                  description: Recipient email (optional contact for the Bre-B rail)
                destinationPhoneNumber:
                  type: string
                  description: Recipient phone number (optional contact for the Bre-B rail)
                type:
                  type: string
                  enum:
                    - BRE_B_COP
              required:
                - destinationName
                - brebKey
                - type
              description: Colombian Bre-B payout details
              title: Bre-B COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{4}$
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET /v1/currencies/COP/destination-schema?method=achCOP (the
                    code, not the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  description: Recipient bank account number
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: Bank account type (e.g. AHORROS / CORRIENTE)
                destinationDocumentType:
                  type: string
                  minLength: 1
                  description: Recipient ID document type (e.g. CC / CE / NIT)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: Recipient ID document number
                type:
                  type: string
                  enum:
                    - ACH_COP
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationDocumentType
                - destinationTaxId
                - type
              description: Colombian ACH payout details
              title: ACH COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for TWD — no network discovery)
                destinationBankName:
                  type: string
                  minLength: 2
                  description: Bank name (required — TWD payouts run over SWIFT)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TW
                destinationBankBranch:
                  type: string
                  minLength: 2
                  description: Bank branch (required — TWD payouts run over SWIFT)
                bic:
                  type: string
                  pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                  description: SWIFT BIC code (required for TWD payouts)
                destinationBankAccountType:
                  type: string
                  description: Type of bank account (legacy, optional)
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankBranch
                - bic
              description: Taiwan bank deposit details (SWIFT payout)
              title: Bank Deposit TW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankBranch:
                  type: string
                  description: Bank branch
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BR
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccount
                - destinationBankBranch
                - destinationTaxId
                - type
              description: Brazilian bank deposit details
              title: Bank Deposit BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPixCode:
                  type: string
                  description: PIX code
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - PIX_BR
              required:
                - destinationName
                - destinationPixCode
                - destinationTaxId
                - type
              description: Brazilian PIX details
              title: PIX BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number
                destinationBankName:
                  type: string
                  description: Name of the bank
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankAccountNumber
                - destinationBankName
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan bank deposit details
              title: Bank Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - PHONE_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankCode
                - destinationPhoneNumber
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan phone deposit details
              title: Phone Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_IN
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - IMPS
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India IMPS details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: IMPS
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - THAI_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Thailand Thai QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Thai QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - VIET_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Vietnam Viet QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Viet QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - GCASH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Philippines GCash details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: GCash
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  description: Tax ID
                type:
                  type: string
                  enum:
                    - MOBILE_PAYMENT_IN
              required:
                - destinationName
                - destinationPhoneNumber
                - destinationTaxId
                - type
              description: >-
                India mobile payment details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Payment IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  description: Bank code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - type
              description: >-
                Vietnam bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit VN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                bic:
                  type: string
                  description: >-
                    SWIFT BIC code (required for HKD payouts via the HK bank
                    corridor)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city (defaults to Hong Kong)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_HK
              required:
                - destinationName
                - destinationBankAccount
                - bic
                - destinationBankName
                - destinationAddress
                - type
              description: Hong Kong bank deposit details (HKD bank corridor)
              title: Bank Deposit HK
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  pattern: ^\d+$
                  description: CNAPS / bank institution code (numeric, variable length)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city
                destinationState:
                  type: string
                  minLength: 1
                  description: >-
                    Province / state of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPostcode:
                  type: string
                  minLength: 1
                  description: >-
                    Postal code of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPhone:
                  type: string
                  description: >-
                    Phone number of the recipient, without country prefix
                    (optional; defaulted for CN when omitted)
                destinationTaxId:
                  type: string
                  description: >-
                    Unified Social Credit Code (USCC, GB 32100-2015) of the
                    recipient company — 18 characters including the check digit;
                    whitespace is removed and letters are normalized to
                    uppercase (optional)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - destinationBankName
                - destinationAddress
                - destinationCity
                - destinationState
                - destinationPostcode
                - type
              description: China mainland bank deposit details (CNY bank corridor)
              title: Bank Deposit CN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/ARS/networks (the
                    network selector, optional)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_AR
                destinationCBU:
                  type: string
                  description: CBU — 22-digit bank account key (legacy, optional)
                destinationCVU:
                  type: string
                  description: CVU — 22-digit virtual account key (legacy, optional)
                destinationAlias:
                  type: string
                  description: Account alias (legacy, optional)
                destinationTaxId:
                  type: string
                  description: >-
                    CUIT/CUIL tax ID of the recipient (required when creating
                    ARS bank destinations): exactly 11 digits with no hyphens,
                    spaces or other characters, and a valid check digit (e.g.
                    20000000001)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Argentinian bank deposit details
              title: Bank Deposit AR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  minLength: 1
                  description: Recipient bank name (required for Chilean bank payouts)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CL
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: >-
                    Account type — corriente or ahorro (required for Chilean
                    bank payouts)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: >-
                    RUT tax ID of the recipient (required for Chilean bank
                    payouts)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankAccountType
                - destinationTaxId
              description: Chilean bank deposit details
              title: Bank Deposit CL
            - type: object
              properties:
                destinationName:
                  type: string
                  minLength: 2
                  maxLength: 30
                  description: Recipient name (required, 2–30 characters)
                destinationBankAccount:
                  type: string
                  minLength: 1
                  maxLength: 11
                  description: Bank account number (max 11 digits for Bolivian accounts)
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for BOB — no network discovery)
                destinationBankName:
                  type: string
                  maxLength: 20
                  description: Bank name (optional, max 20 characters)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BO
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 15
                  description: NIT tax ID of the recipient (required for Bolivian payouts)
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationTaxId
              description: Bolivian bank deposit details
              title: Bank Deposit BO
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/PEN/networks (the
                    network selector)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PE
                destinationCCI:
                  type: string
                  description: CCI — 20-digit interbank account code (legacy, optional)
                destinationBankAccountType:
                  type: string
                  description: Account type (corriente/ahorro) (legacy, optional)
                destinationTaxId:
                  type: string
                  description: DNI/RUC document ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationNetworkId
                - type
              description: >-
                Peruvian bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit PE
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{3}$
                  description: >-
                    Recipient bank code (the 3-digit code the rail expects, not
                    the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  maxLength: 20
                  description: Recipient bank account number (max 20)
                destinationBankAccountType:
                  type: string
                  enum:
                    - CORRIENTE
                    - AHORROS
                    - PHONE
                  description: Bank account type
                destinationCCI:
                  type: string
                  pattern: ^\d{1,20}$
                  description: >-
                    CCI — Peruvian interbank code (required, digits only, max
                    20)
                destinationDocumentType:
                  type: string
                  enum:
                    - CC
                    - CE
                    - RUC
                    - PAS
                    - PAR
                    - LMI
                    - OTHER
                  description: Recipient identification type
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: Recipient identification number (max 50)
                email:
                  type: string
                  pattern: ^.+@.+\..+$
                  description: Recipient email (required for PEN payouts)
                destinationPhoneNumber:
                  type: string
                  pattern: ^\d{1,9}$
                  description: Recipient phone number (required, max 9 digits)
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PEN
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationCCI
                - destinationDocumentType
                - destinationTaxId
                - email
                - destinationPhoneNumber
                - type
              description: Peruvian bank deposit details (bank-code payout corridor).
              title: Bank Deposit PEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_NG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Nigeria bank deposit details
              title: Bank Deposit NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_KE
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Kenya bank deposit details
              title: Bank Deposit KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_GH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Ghana bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZA
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: South Africa bank deposit details
              title: Bank Deposit ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TZ
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Tanzania bank deposit details
              title: Bank Deposit TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_UG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Uganda bank deposit details
              title: Bank Deposit UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_RW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Rwanda bank deposit details
              title: Bank Deposit RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Malawi bank deposit details
              title: Bank Deposit MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZM
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Zambia bank deposit details
              title: Bank Deposit ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Botswana bank deposit details
              title: Bank Deposit BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CD
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                DR Congo bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XOF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: West African CFA bank deposit details
              title: Bank Deposit XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XAF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Central African CFA bank deposit details
              title: Bank Deposit XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_NG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Nigeria mobile money details
              title: Mobile Money NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_KE
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Kenya mobile money details
              title: Mobile Money KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_GH
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                Ghana mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZA
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: South Africa mobile money details
              title: Mobile Money ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_TZ
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Tanzania mobile money details
              title: Mobile Money TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_UG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Uganda mobile money details
              title: Mobile Money UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_RW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Rwanda mobile money details
              title: Mobile Money RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_MW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Malawi mobile money details
              title: Mobile Money MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZM
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Zambia mobile money details
              title: Mobile Money ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_BW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Botswana mobile money details
              title: Mobile Money BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_CD
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                DR Congo mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XOF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: West African CFA mobile money details
              title: Mobile Money XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XAF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Central African CFA mobile money details
              title: Mobile Money XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number (18-digit CLABE)
                numericReference:
                  type: string
                  description: Numeric reference
                notesReference:
                  type: string
                  description: Notes reference
                destinationClabe:
                  type: string
                  description: CLABE — legacy alias, prefer destinationBankAccountNumber
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient tax id (RFC) — required by some MX bank-deposit
                    rails ("Número de Identificación"); optional otherwise
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MX
              required:
                - destinationName
                - destinationBankAccountNumber
                - type
              description: Mexican bank deposit details
              title: Bank Deposit MX
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPseNumber:
                  type: string
                  description: PSE number
                type:
                  type: string
                  enum:
                    - PSE
              required:
                - destinationName
                - destinationPseNumber
                - type
              description: >-
                PSE transfer details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: PSE
              deprecated: true
          description: The details required for the end user destination transfer method.
        status:
          anyOf:
            - type: string
              enum:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
              description: Common status values that are shared across all operation types
              examples:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
            - type: string
              enum:
                - PendingCancel
                - PendingWithdrawal
                - PendingVerification
                - Pending2FA
                - Compliance
                - Accepted
                - Approved
                - Rejected
                - Review
          description: Status of the withdrawal
          examples:
            - Pending
            - Pending2FA
            - Compliance
            - Accepted
            - Approved
            - Success
            - Failed
            - Review
            - Rejected
        withdrawalInfo:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BALANCE
              required:
                - type
              description: Balance transfer details
              title: Balance
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                iban:
                  type: string
                  description: IBAN number
                bic:
                  type: string
                  description: BIC number (optional)
                country:
                  type: string
                  description: Country code
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for SEPA payouts — provide
                    it here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for SEPA payouts —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as the
                    payout beneficiary `address.line1` when registering the
                    beneficiary. Stored on the saved transaction method so the
                    user does not have to re-supply it on every withdraw.
                type:
                  type: string
                  enum:
                    - SEPA
              required:
                - destinationName
                - iban
                - country
                - type
              description: SEPA transfer details
              title: SEPA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: UK bank account number
                sortCode:
                  type: string
                  description: UK sort code
                country:
                  type: string
                  enum:
                    - GB
                  default: GB
                  description: >-
                    ISO 3166 country code of the recipient (GBP transfer is
                    UK-based)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - GBP_BANK_TRANSFER
              required:
                - destinationName
                - accountNumber
                - sortCode
                - type
              description: GBP domestic bank transfer details
              title: BankDepositGB
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                accountNumber:
                  type: string
                  description: US bank account number
                routingNumber:
                  type: string
                  description: US ABA routing number
                country:
                  type: string
                  enum:
                    - US
                  default: US
                  description: ISO 3166 country code of the recipient (ACH is US-domestic)
                accountType:
                  type: string
                  enum:
                    - PERSONAL
                    - BUSINESS
                  default: PERSONAL
                  description: Account type (optional)
                bankAccountType:
                  type: string
                  enum:
                    - CHECKING
                    - SAVINGS
                  default: CHECKING
                  description: >-
                    Kind of bank account the payout lands in. Defaults to
                    CHECKING when omitted.
                city:
                  type: string
                  description: >-
                    City of the recipient. REQUIRED for this rail — provide it
                    here or in destinationUserData.city.
                postalCode:
                  type: string
                  description: >-
                    Postal code of the recipient. REQUIRED for this rail —
                    provide it here or in destinationUserData.postalCode.
                state:
                  type: string
                  pattern: ^[A-Z]{2}$
                  description: >-
                    Two-letter US state code of the recipient (e.g. NY).
                    REQUIRED for this rail.
                address:
                  type: string
                  description: >-
                    Street address (line 1) of the recipient. Forwarded as payee
                    address when creating the payee.
                type:
                  type: string
                  enum:
                    - ACH_US
              required:
                - destinationName
                - accountNumber
                - routingNumber
                - state
                - type
              description: USD ACH transfer details
              title: AchUS
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - linkedBankAccount
                accountLinkId:
                  type: string
                  pattern: ^alnk_[0-9a-f]{24}$
                  description: >-
                    Identifier of one of the account holder own linked bank
                    accounts
                  examples:
                    - alnk_0123456789abcdef01234567
              required:
                - type
                - accountLinkId
              description: >-
                A bank account the account holder linked beforehand. Pays out
                only to the holder of the order; never to a third party. Not
                available yet.
              title: LinkedBankAccount
              deprecated: true
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ETH
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ETH destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ETH
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - MATIC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: MATIC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: MATIC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOL
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOL destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOL
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - TRON
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: TRON destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: TRON
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CELO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CELO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: CELO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BTC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BTC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: BTC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - SOLANA
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: SOLANA destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: SOLANA
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - XRP
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: XRP destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: XRP
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CARDANO
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: CARDANO destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: \S
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: \S
              title: CARDANO
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BSC
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BSC destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BSC
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ARBITRUM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: ARBITRUM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: ARBITRUM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - OPTIMISM
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: OPTIMISM destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: OPTIMISM
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - AVALANCHE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: AVALANCHE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: AVALANCHE
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - BASE
                address:
                  type: string
                  description: >-
                    Destination wallet address. Send this rather than the legacy
                    `destinationWalletAddress` — at least one of the two is
                    required, and a payload carrying neither is rejected. On EVM
                    chains the address is "0x" followed by 40 hex characters.
                memo:
                  type: string
                  description: Memo for the wallet, when the chain uses one
                txId:
                  type: string
                  description: Blockchain transaction ID
                txUrlScan:
                  type: string
                  description: Blockchain explorer URL for the transaction
                destinationWalletAddress:
                  type: string
                  description: >-
                    Destination wallet address (legacy shape). Still accepted,
                    but send `address` instead — at least one of the two is
                    required and supplying neither is rejected.
                destinationWalletMemo:
                  type: string
                  description: Memo for the wallet (legacy shape) — send `memo` instead
                destinationNetwork:
                  type: string
                  description: >-
                    Network name, when the corridor addresses the chain by name
                    rather than by `type`
                destinationNetworkId:
                  type: string
                  description: >-
                    Network id from GET /v1/currencies/{currency}/networks, for
                    corridors where `supportsNetworkDiscovery` is true
                destinationCurrencySymbol:
                  type: string
                  description: >-
                    Asset symbol on the chain. `type` names the chain, so this
                    is what separates the native coin from tokens on it — ETH
                    from USDC-on-Ethereum.
              required:
                - type
              description: BASE destination details
              anyOf:
                - required:
                    - address
                  properties:
                    address:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                - required:
                    - destinationWalletAddress
                  properties:
                    destinationWalletAddress:
                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
              title: BASE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/COP/networks. Not
                    read by the payout; retained for the network selector and
                    for stored records.
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_COL
                destinationBankCode:
                  type: string
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET
                    /v1/currencies/COP/destination-schema?method=bankDepositCOL
                    (the code, not the name). Required when creating or updating
                    a destination.
                destinationBankAccountType:
                  type: string
                  description: >-
                    Bank account type — CORRIENTE or AHORRO. Required when
                    creating or updating a destination.
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient ID document number. Required when creating or
                    updating a destination.
                destinationDocumentType:
                  type: string
                  description: >-
                    Recipient ID document type — CC, CE, NIT, TI or PP. Required
                    when creating or updating a destination.
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Colombian bank deposit details. Equivalent to ACH_COP — same
                payout rail, same required fields, same bank roster; ACH_COP is
                recommended for new integrations. Note that BANK_DEPOSIT_COL is
                also the name of a COP collection rail.
              title: Bank Deposit COL
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                brebKey:
                  type: string
                  minLength: 1
                  description: Bre-B key (llave) that identifies the recipient account
                email:
                  type: string
                  description: Recipient email (optional contact for the Bre-B rail)
                destinationPhoneNumber:
                  type: string
                  description: Recipient phone number (optional contact for the Bre-B rail)
                type:
                  type: string
                  enum:
                    - BRE_B_COP
              required:
                - destinationName
                - brebKey
                - type
              description: Colombian Bre-B payout details
              title: Bre-B COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{4}$
                  description: >-
                    Recipient bank code — one of the 4-digit codes published by
                    GET /v1/currencies/COP/destination-schema?method=achCOP (the
                    code, not the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  description: Recipient bank account number
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: Bank account type (e.g. AHORROS / CORRIENTE)
                destinationDocumentType:
                  type: string
                  minLength: 1
                  description: Recipient ID document type (e.g. CC / CE / NIT)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: Recipient ID document number
                type:
                  type: string
                  enum:
                    - ACH_COP
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationDocumentType
                - destinationTaxId
                - type
              description: Colombian ACH payout details
              title: ACH COP
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for TWD — no network discovery)
                destinationBankName:
                  type: string
                  minLength: 2
                  description: Bank name (required — TWD payouts run over SWIFT)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TW
                destinationBankBranch:
                  type: string
                  minLength: 2
                  description: Bank branch (required — TWD payouts run over SWIFT)
                bic:
                  type: string
                  pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                  description: SWIFT BIC code (required for TWD payouts)
                destinationBankAccountType:
                  type: string
                  description: Type of bank account (legacy, optional)
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankBranch
                - bic
              description: Taiwan bank deposit details (SWIFT payout)
              title: Bank Deposit TW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankBranch:
                  type: string
                  description: Bank branch
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BR
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccount
                - destinationBankBranch
                - destinationTaxId
                - type
              description: Brazilian bank deposit details
              title: Bank Deposit BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPixCode:
                  type: string
                  description: PIX code
                destinationTaxId:
                  type: string
                  description: Tax ID of the recipient
                type:
                  type: string
                  enum:
                    - PIX_BR
              required:
                - destinationName
                - destinationPixCode
                - destinationTaxId
                - type
              description: Brazilian PIX details
              title: PIX BR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number
                destinationBankName:
                  type: string
                  description: Name of the bank
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankAccountNumber
                - destinationBankName
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan bank deposit details
              title: Bank Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                  description: Tax ID of the recipient
                destinationBankAccountType:
                  type: string
                  description: Type of bank account
                type:
                  type: string
                  enum:
                    - PHONE_DEPOSIT_VEN
              required:
                - destinationName
                - destinationBankCode
                - destinationPhoneNumber
                - destinationTaxId
                - destinationBankAccountType
                - type
              description: Venezuelan phone deposit details
              title: Phone Deposit VEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_IN
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - IMPS
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                India IMPS details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: IMPS
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - THAI_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Thailand Thai QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Thai QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - VIET_QR
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Vietnam Viet QR details. Deprecated — no active payout corridor
                for this method; orders using it are rejected. Retained for
                backward compatibility with stored destinations.
              title: Viet QR
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationIFSC:
                  type: string
                  description: IFSC code
                type:
                  type: string
                  enum:
                    - GCASH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Philippines GCash details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: GCash
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationTaxId:
                  type: string
                  description: Tax ID
                type:
                  type: string
                  enum:
                    - MOBILE_PAYMENT_IN
              required:
                - destinationName
                - destinationPhoneNumber
                - destinationTaxId
                - type
              description: >-
                India mobile payment details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Payment IN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  description: Bank code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_VN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - type
              description: >-
                Vietnam bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit VN
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                bic:
                  type: string
                  description: >-
                    SWIFT BIC code (required for HKD payouts via the HK bank
                    corridor)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city (defaults to Hong Kong)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_HK
              required:
                - destinationName
                - destinationBankAccount
                - bic
                - destinationBankName
                - destinationAddress
                - type
              description: Hong Kong bank deposit details (HKD bank corridor)
              title: Bank Deposit HK
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationBankCode:
                  type: string
                  pattern: ^\d+$
                  description: CNAPS / bank institution code (numeric, variable length)
                destinationBankName:
                  type: string
                  description: Bank name
                destinationAddress:
                  type: string
                  description: Address line 1 of the recipient
                destinationCity:
                  type: string
                  description: Recipient city
                destinationState:
                  type: string
                  minLength: 1
                  description: >-
                    Province / state of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPostcode:
                  type: string
                  minLength: 1
                  description: >-
                    Postal code of the recipient (required for CN — the
                    beneficiary is rejected in compliance review without it)
                destinationPhone:
                  type: string
                  description: >-
                    Phone number of the recipient, without country prefix
                    (optional; defaulted for CN when omitted)
                destinationTaxId:
                  type: string
                  description: >-
                    Unified Social Credit Code (USCC, GB 32100-2015) of the
                    recipient company — 18 characters including the check digit;
                    whitespace is removed and letters are normalized to
                    uppercase (optional)
                accountHolderName:
                  type: string
                  description: Bank account holder name if different from payee
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CN
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankCode
                - destinationBankName
                - destinationAddress
                - destinationCity
                - destinationState
                - destinationPostcode
                - type
              description: China mainland bank deposit details (CNY bank corridor)
              title: Bank Deposit CN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/ARS/networks (the
                    network selector, optional)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_AR
                destinationCBU:
                  type: string
                  description: CBU — 22-digit bank account key (legacy, optional)
                destinationCVU:
                  type: string
                  description: CVU — 22-digit virtual account key (legacy, optional)
                destinationAlias:
                  type: string
                  description: Account alias (legacy, optional)
                destinationTaxId:
                  type: string
                  description: >-
                    CUIT/CUIL tax ID of the recipient (required when creating
                    ARS bank destinations): exactly 11 digits with no hyphens,
                    spaces or other characters, and a valid check digit (e.g.
                    20000000001)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Argentinian bank deposit details
              title: Bank Deposit AR
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  minLength: 1
                  description: Recipient bank name (required for Chilean bank payouts)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CL
                destinationBankAccountType:
                  type: string
                  minLength: 1
                  description: >-
                    Account type — corriente or ahorro (required for Chilean
                    bank payouts)
                destinationTaxId:
                  type: string
                  minLength: 1
                  description: >-
                    RUT tax ID of the recipient (required for Chilean bank
                    payouts)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationBankName
                - type
                - destinationBankAccountType
                - destinationTaxId
              description: Chilean bank deposit details
              title: Bank Deposit CL
            - type: object
              properties:
                destinationName:
                  type: string
                  minLength: 2
                  maxLength: 30
                  description: Recipient name (required, 2–30 characters)
                destinationBankAccount:
                  type: string
                  minLength: 1
                  maxLength: 11
                  description: Bank account number (max 11 digits for Bolivian accounts)
                destinationNetworkId:
                  type: string
                  description: Payout network id (unused for BOB — no network discovery)
                destinationBankName:
                  type: string
                  maxLength: 20
                  description: Bank name (optional, max 20 characters)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BO
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 15
                  description: NIT tax ID of the recipient (required for Bolivian payouts)
              required:
                - destinationName
                - destinationBankAccount
                - type
                - destinationTaxId
              description: Bolivian bank deposit details
              title: Bank Deposit BO
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id from GET /v1/currencies/PEN/networks (the
                    network selector)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PE
                destinationCCI:
                  type: string
                  description: CCI — 20-digit interbank account code (legacy, optional)
                destinationBankAccountType:
                  type: string
                  description: Account type (corriente/ahorro) (legacy, optional)
                destinationTaxId:
                  type: string
                  description: DNI/RUC document ID of the recipient (legacy, optional)
                destinationDocumentType:
                  type: string
                  description: Document type of the recipient (legacy, optional)
              required:
                - destinationName
                - destinationBankAccount
                - destinationNetworkId
                - type
              description: >-
                Peruvian bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit PE
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  pattern: ^\d{3}$
                  description: >-
                    Recipient bank code (the 3-digit code the rail expects, not
                    the name)
                destinationBankAccountNumber:
                  type: string
                  minLength: 1
                  maxLength: 20
                  description: Recipient bank account number (max 20)
                destinationBankAccountType:
                  type: string
                  enum:
                    - CORRIENTE
                    - AHORROS
                    - PHONE
                  description: Bank account type
                destinationCCI:
                  type: string
                  pattern: ^\d{1,20}$
                  description: >-
                    CCI — Peruvian interbank code (required, digits only, max
                    20)
                destinationDocumentType:
                  type: string
                  enum:
                    - CC
                    - CE
                    - RUC
                    - PAS
                    - PAR
                    - LMI
                    - OTHER
                  description: Recipient identification type
                destinationTaxId:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: Recipient identification number (max 50)
                email:
                  type: string
                  pattern: ^.+@.+\..+$
                  description: Recipient email (required for PEN payouts)
                destinationPhoneNumber:
                  type: string
                  pattern: ^\d{1,9}$
                  description: Recipient phone number (required, max 9 digits)
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_PEN
              required:
                - destinationName
                - destinationBankCode
                - destinationBankAccountNumber
                - destinationBankAccountType
                - destinationCCI
                - destinationDocumentType
                - destinationTaxId
                - email
                - destinationPhoneNumber
                - type
              description: Peruvian bank deposit details (bank-code payout corridor).
              title: Bank Deposit PEN
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_NG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Nigeria bank deposit details
              title: Bank Deposit NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_KE
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Kenya bank deposit details
              title: Bank Deposit KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_GH
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                Ghana bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZA
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: South Africa bank deposit details
              title: Bank Deposit ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_TZ
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Tanzania bank deposit details
              title: Bank Deposit TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_UG
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Uganda bank deposit details
              title: Bank Deposit UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_RW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Rwanda bank deposit details
              title: Bank Deposit RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Malawi bank deposit details
              title: Bank Deposit MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_ZM
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Zambia bank deposit details
              title: Bank Deposit ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_BW
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Botswana bank deposit details
              title: Bank Deposit BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_CD
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: >-
                DR Congo bank deposit details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Bank Deposit CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XOF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: West African CFA bank deposit details
              title: Bank Deposit XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankAccount:
                  type: string
                  description: Bank account
                destinationNetworkId:
                  type: string
                  description: Payout network id (optional if destinationBankName is given)
                destinationBankName:
                  type: string
                  description: Bank name (used to resolve the network when id is omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_XAF
              required:
                - destinationName
                - destinationBankAccount
                - type
              description: Central African CFA bank deposit details
              title: Bank Deposit XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_NG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Nigeria mobile money details
              title: Mobile Money NG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_KE
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Kenya mobile money details
              title: Mobile Money KE
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_GH
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                Ghana mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money GH
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZA
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: South Africa mobile money details
              title: Mobile Money ZA
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_TZ
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Tanzania mobile money details
              title: Mobile Money TZ
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_UG
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Uganda mobile money details
              title: Mobile Money UG
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_RW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Rwanda mobile money details
              title: Mobile Money RW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_MW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Malawi mobile money details
              title: Mobile Money MW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_ZM
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Zambia mobile money details
              title: Mobile Money ZM
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_BW
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Botswana mobile money details
              title: Mobile Money BW
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_CD
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: >-
                DR Congo mobile money details. Deprecated — no active payout
                corridor for this method; orders using it are rejected. Retained
                for backward compatibility with stored destinations.
              title: Mobile Money CD
              deprecated: true
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XOF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: West African CFA mobile money details
              title: Mobile Money XOF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPhoneNumber:
                  type: string
                  description: Phone number
                destinationNetworkId:
                  type: string
                  description: >-
                    Payout network id (optional if destinationNetworkName is
                    given)
                destinationNetworkName:
                  type: string
                  description: >-
                    Mobile money network name (resolves the network when id
                    omitted)
                country:
                  type: string
                  description: ISO 3166 country code
                type:
                  type: string
                  enum:
                    - MOBILE_MONEY_XAF
              required:
                - destinationName
                - destinationPhoneNumber
                - type
              description: Central African CFA mobile money details
              title: Mobile Money XAF
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationBankCode:
                  type: string
                  description: Bank code
                destinationBankAccountNumber:
                  type: string
                  description: Bank account number (18-digit CLABE)
                numericReference:
                  type: string
                  description: Numeric reference
                notesReference:
                  type: string
                  description: Notes reference
                destinationClabe:
                  type: string
                  description: CLABE — legacy alias, prefer destinationBankAccountNumber
                destinationTaxId:
                  type: string
                  description: >-
                    Recipient tax id (RFC) — required by some MX bank-deposit
                    rails ("Número de Identificación"); optional otherwise
                type:
                  type: string
                  enum:
                    - BANK_DEPOSIT_MX
              required:
                - destinationName
                - destinationBankAccountNumber
                - type
              description: Mexican bank deposit details
              title: Bank Deposit MX
            - type: object
              properties:
                destinationName:
                  type: string
                  description: Name of the recipient
                destinationPseNumber:
                  type: string
                  description: PSE number
                type:
                  type: string
                  enum:
                    - PSE
              required:
                - destinationName
                - destinationPseNumber
                - type
              description: >-
                PSE transfer details. Deprecated — no active payout corridor for
                this method; orders using it are rejected. Retained for backward
                compatibility with stored destinations.
              title: PSE
              deprecated: true
          description: Detailed withdrawal information
          title: WithdrawalInfo
        source:
          type: string
          enum:
            - ui
            - apiApp
            - externalApi
            - internal
          description: Source of withdrawal creation
          example: externalApi
        requires2FA:
          type: boolean
          description: Whether 2FA is required for this withdrawal
          example: false
        twoFactorToken:
          type: string
          description: 2FA token for email approval
          example: abc123
        twoFactorApprovedAt:
          type: number
          description: Timestamp when 2FA was approved
          example: 1723027132
        errorCode:
          type: string
          description: Error code when status is Review
          example: INSUFFICIENT_BALANCE
        errorDetails:
          type: string
          description: Detailed error information
          example: Insufficient balance for withdrawal
        reviewedBy:
          type: string
          description: Admin email who reviewed the withdrawal
          example: admin@example.com
        reviewedAt:
          type: number
          description: Timestamp when review happened
          example: 1723027132
      required:
        - withdrawalId
        - createdAt
        - amount
        - currency
        - fee
        - feeCurrency
        - status
      description: Response schema for getting withdrawal details
    ListWithdrawalsRequest:
      type: object
      properties:
        currency:
          type: string
          description: Optional currency code to filter the items
          example: EUR
        minAmount:
          type: number
          minimum: 0
        maxAmount:
          type: number
          minimum: 0
        from:
          type: integer
          minimum: 0
        to:
          type: integer
          minimum: 0
        userEmail:
          type: string
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          example: user@example.com
        search:
          type: string
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
        limit:
          type: number
          minimum: 0
        page:
          type: number
          minimum: 0
        status:
          anyOf:
            - type: string
              enum:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
              description: Common status values that are shared across all operation types
              examples:
                - Pending
                - Processing
                - Success
                - Failed
                - Canceled
                - Reviewing
            - type: string
              enum:
                - PendingCancel
                - PendingWithdrawal
                - PendingVerification
                - Pending2FA
                - Compliance
                - Accepted
                - Approved
                - Rejected
                - Review
            - type: array
              items:
                anyOf:
                  - type: string
                    enum:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                    description: >-
                      Common status values that are shared across all operation
                      types
                    examples:
                      - Pending
                      - Processing
                      - Success
                      - Failed
                      - Canceled
                      - Reviewing
                  - type: string
                    enum:
                      - PendingCancel
                      - PendingWithdrawal
                      - PendingVerification
                      - Pending2FA
                      - Compliance
                      - Accepted
                      - Approved
                      - Rejected
                      - Review
                description: Status for withdrawal operations
                examples:
                  - Pending
                  - Pending2FA
                  - Compliance
                  - Accepted
                  - Approved
                  - Success
                  - Failed
                  - Review
                  - Rejected
          description: >-
            Optional status to filter withdrawals. Can be a single status or an
            array of statuses for multiple filtering
          examples:
            - Pending
            - - Pending
              - Success
            - - Pending
              - Processing
              - Success
        network:
          type: string
          description: Network filter for the withdrawals in case of crypto withdrawals
          examples:
            - Ethereum
      additionalProperties: false
      description: Request schema for listing withdrawals
    ListWithdrawalsResponse:
      type: array
      items:
        type: object
        properties:
          withdrawalId:
            anyOf:
              - type: string
                minLength: 12
                maxLength: 12
                pattern: ^[A-Z0-9]{12}$
                examples:
                  - 01CLFXMT67II
                  - 2R7E5Y5KFXP8
                  - 4FWWRE3Y2URM
              - type: string
                format: uuid
            description: ID of the withdrawal
          userData:
            oneOf:
              - type: object
                properties:
                  userType:
                    type: string
                    enum:
                      - individual
                  firstName:
                    type: string
                    minLength: 1
                    maxLength: 50
                    description: >-
                      First name of the user making the deposit (or
                      representative for business)
                    examples:
                      - John
                      - Alice
                      - Bob
                  lastName:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: >-
                      Last name of the user making the deposit (or
                      representative for business)
                    examples:
                      - Doe
                      - Smith
                      - Johnson
                  userEmail:
                    type: string
                    maxLength: 254
                    format: email
                    pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                    description: Email of the user making the deposit
                    examples:
                      - user@virtuabroker.com
                      - john.doe@example.com
                      - alice@example.com
                  address:
                    type: string
                    maxLength: 150
                    description: Address of the user making the deposit
                    examples:
                      - 123 Main St, Anytown, ES
                      - 456 Elm St, Anytown, ES
                      - 789 Oak St, Anytown, ES
                  taxDocumentType:
                    type: string
                    maxLength: 50
                    description: >-
                      Tax document type of the user making the deposit. Common
                      values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                      string is accepted.
                    examples:
                      - CC
                      - NIT
                      - CE
                      - NIF
                      - Other
                  taxId:
                    type: string
                    maxLength: 30
                    description: Tax ID of the user making the deposit
                    examples:
                      - 123-45-6789
                      - 987-65-4321
                      - 111-22-3333
                  country:
                    type: string
                    enum:
                      - US
                      - CA
                      - GB
                      - DE
                      - FR
                      - AU
                      - JP
                      - KR
                      - SE
                      - 'NO'
                      - DK
                      - FI
                      - NL
                      - BE
                      - CH
                      - AT
                      - NZ
                      - SG
                      - IE
                      - LU
                      - PT
                      - ES
                      - IT
                      - GR
                      - CZ
                      - PL
                      - HU
                      - SK
                      - SI
                      - EE
                      - LT
                      - LV
                      - IS
                      - MT
                      - CY
                      - HR
                      - RO
                      - BG
                      - BR
                      - AR
                      - CL
                      - MX
                      - CO
                      - PE
                      - PA
                      - UY
                      - BO
                      - ZA
                      - NG
                      - KE
                      - GH
                      - TZ
                      - UG
                      - RW
                      - MW
                      - ZM
                      - BW
                      - CD
                      - CI
                      - CM
                      - IL
                      - AE
                      - QA
                      - SA
                      - OM
                      - KW
                      - BH
                      - MY
                      - PH
                      - TH
                      - VN
                      - ID
                      - IN
                      - LK
                      - NP
                      - BD
                      - PK
                      - EG
                      - MA
                      - DZ
                      - TN
                      - JO
                      - LB
                      - TR
                      - KH
                      - MM
                      - LA
                      - EN
                      - BT
                      - VE
                      - TW
                      - HK
                      - CN
                    description: Country code of the user making the deposit
                    examples:
                      - ES
                      - US
                      - GB
                  state:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: State of the user making the deposit
                    examples:
                      - Madrid
                      - New York
                      - London
                  postalCode:
                    type: string
                    minLength: 1
                    maxLength: 30
                    description: Postal code of the user making the deposit
                    examples:
                      - '12345'
                      - '67890'
                      - abcde
                  city:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: City of the user making the deposit
                    examples:
                      - Madrid
                      - New York
                      - London
                  dob:
                    type: string
                    minLength: 1
                    maxLength: 30
                    description: Date of birth of the user making the deposit
                    examples:
                      - '1990-01-01'
                      - '1995-05-15'
                      - '1988-12-31'
                  phoneNumber:
                    type: string
                    maxLength: 30
                    description: Phone number of the user making the deposit
                    examples:
                      - '+447700900123'
                      - '+447700900456'
                      - '+447700900789'
                  kycId:
                    type: string
                    minLength: 1
                    maxLength: 300
                    description: >-
                      KYC ID of the user making the deposit on your platform (if
                      the KYC is done by you, add the url)
                    examples:
                      - kyc-12345
                      - kyc-67890
                      - kyc-abcde
                  activity:
                    type: string
                    description: Activity of the user making the deposit
                    examples:
                      - worker
                      - business
                      - student
                required:
                  - userType
                  - firstName
                  - userEmail
                  - country
              - type: object
                properties:
                  userType:
                    type: string
                    enum:
                      - business
                  businessName:
                    type: string
                    maxLength: 150
                    description: Business name (required when userType is business)
                    examples:
                      - Acme Corp
                      - Tech Solutions Inc
                      - Global Services Ltd
                  firstName:
                    type: string
                    minLength: 1
                    maxLength: 50
                    description: >-
                      First name of the user making the deposit (or
                      representative for business)
                    examples:
                      - John
                      - Alice
                      - Bob
                  userEmail:
                    type: string
                    maxLength: 254
                    format: email
                    pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                    description: Email of the user making the deposit
                    examples:
                      - user@virtuabroker.com
                      - john.doe@example.com
                      - alice@example.com
                  address:
                    type: string
                    maxLength: 150
                    description: Address of the user making the deposit
                    examples:
                      - 123 Main St, Anytown, ES
                      - 456 Elm St, Anytown, ES
                      - 789 Oak St, Anytown, ES
                  taxDocumentType:
                    type: string
                    maxLength: 50
                    description: >-
                      Tax document type of the user making the deposit. Common
                      values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                      string is accepted.
                    examples:
                      - CC
                      - NIT
                      - CE
                      - NIF
                      - Other
                  taxId:
                    type: string
                    maxLength: 30
                    description: Tax ID of the user making the deposit
                    examples:
                      - 123-45-6789
                      - 987-65-4321
                      - 111-22-3333
                  country:
                    type: string
                    enum:
                      - US
                      - CA
                      - GB
                      - DE
                      - FR
                      - AU
                      - JP
                      - KR
                      - SE
                      - 'NO'
                      - DK
                      - FI
                      - NL
                      - BE
                      - CH
                      - AT
                      - NZ
                      - SG
                      - IE
                      - LU
                      - PT
                      - ES
                      - IT
                      - GR
                      - CZ
                      - PL
                      - HU
                      - SK
                      - SI
                      - EE
                      - LT
                      - LV
                      - IS
                      - MT
                      - CY
                      - HR
                      - RO
                      - BG
                      - BR
                      - AR
                      - CL
                      - MX
                      - CO
                      - PE
                      - PA
                      - UY
                      - BO
                      - ZA
                      - NG
                      - KE
                      - GH
                      - TZ
                      - UG
                      - RW
                      - MW
                      - ZM
                      - BW
                      - CD
                      - CI
                      - CM
                      - IL
                      - AE
                      - QA
                      - SA
                      - OM
                      - KW
                      - BH
                      - MY
                      - PH
                      - TH
                      - VN
                      - ID
                      - IN
                      - LK
                      - NP
                      - BD
                      - PK
                      - EG
                      - MA
                      - DZ
                      - TN
                      - JO
                      - LB
                      - TR
                      - KH
                      - MM
                      - LA
                      - EN
                      - BT
                      - VE
                      - TW
                      - HK
                      - CN
                    description: Country code of the user making the deposit
                    examples:
                      - ES
                      - US
                      - GB
                  state:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: State of the user making the deposit
                    examples:
                      - Madrid
                      - New York
                      - London
                  postalCode:
                    type: string
                    minLength: 1
                    maxLength: 30
                    description: Postal code of the user making the deposit
                    examples:
                      - '12345'
                      - '67890'
                      - abcde
                  city:
                    type: string
                    minLength: 1
                    maxLength: 100
                    description: City of the user making the deposit
                    examples:
                      - Madrid
                      - New York
                      - London
                  dob:
                    type: string
                    minLength: 1
                    maxLength: 30
                    description: Date of birth of the user making the deposit
                    examples:
                      - '1990-01-01'
                      - '1995-05-15'
                      - '1988-12-31'
                  phoneNumber:
                    type: string
                    maxLength: 30
                    description: Phone number of the user making the deposit
                    examples:
                      - '+447700900123'
                      - '+447700900456'
                      - '+447700900789'
                  kycId:
                    type: string
                    minLength: 1
                    maxLength: 300
                    description: >-
                      KYC ID of the user making the deposit on your platform (if
                      the KYC is done by you, add the url)
                    examples:
                      - kyc-12345
                      - kyc-67890
                      - kyc-abcde
                  activity:
                    type: string
                    description: Activity of the user making the deposit
                    examples:
                      - worker
                      - business
                      - student
                required:
                  - userType
                  - businessName
                  - firstName
                  - userEmail
                  - country
            description: User data for the withdrawal
          createdAt:
            type: number
            description: Creation time of the withdrawal
            example: 1723027132
          updatedAt:
            type: number
            description: Last update time of the withdrawal
            example: 1723027132
          userEmail:
            type: string
            format: email
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: Email of the user making the request
            example: user@example.com
          amount:
            type: number
            description: >-
              Amount to be withdrawn. This value is written once the withdrawal
              has been executed. Meanwhile it will appear 0.
            example: 1000
          currency:
            type: string
            description: Currency of the withdrawal
            example: EUR
          fee:
            type: number
            description: >-
              Fee for the withdrawal. This value is written once the withdrawal
              has been executed. Meanwhile it will appear 0.
            example: 10
          feeCurrency:
            type: string
            description: Currency of the fee
            example: EUR
          destinationTransferData:
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - BALANCE
                required:
                  - type
                description: Balance transfer details
                title: Balance
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  iban:
                    type: string
                    description: IBAN number
                  bic:
                    type: string
                    description: BIC number (optional)
                  country:
                    type: string
                    description: Country code
                  accountType:
                    type: string
                    enum:
                      - PERSONAL
                      - BUSINESS
                    default: PERSONAL
                    description: Account type (optional)
                  city:
                    type: string
                    description: >-
                      City of the recipient. REQUIRED for SEPA payouts — provide
                      it here or in destinationUserData.city.
                  postalCode:
                    type: string
                    description: >-
                      Postal code of the recipient. REQUIRED for SEPA payouts —
                      provide it here or in destinationUserData.postalCode.
                  address:
                    type: string
                    description: >-
                      Street address (line 1) of the recipient. Forwarded as the
                      payout beneficiary `address.line1` when registering the
                      beneficiary. Stored on the saved transaction method so the
                      user does not have to re-supply it on every withdraw.
                  type:
                    type: string
                    enum:
                      - SEPA
                required:
                  - destinationName
                  - iban
                  - country
                  - type
                description: SEPA transfer details
                title: SEPA
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  accountNumber:
                    type: string
                    description: UK bank account number
                  sortCode:
                    type: string
                    description: UK sort code
                  country:
                    type: string
                    enum:
                      - GB
                    default: GB
                    description: >-
                      ISO 3166 country code of the recipient (GBP transfer is
                      UK-based)
                  accountType:
                    type: string
                    enum:
                      - PERSONAL
                      - BUSINESS
                    default: PERSONAL
                    description: Account type (optional)
                  city:
                    type: string
                    description: >-
                      City of the recipient. REQUIRED for this rail — provide it
                      here or in destinationUserData.city.
                  postalCode:
                    type: string
                    description: >-
                      Postal code of the recipient. REQUIRED for this rail —
                      provide it here or in destinationUserData.postalCode.
                  address:
                    type: string
                    description: >-
                      Street address (line 1) of the recipient. Forwarded as
                      payee address when creating the payee.
                  type:
                    type: string
                    enum:
                      - GBP_BANK_TRANSFER
                required:
                  - destinationName
                  - accountNumber
                  - sortCode
                  - type
                description: GBP domestic bank transfer details
                title: BankDepositGB
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  accountNumber:
                    type: string
                    description: US bank account number
                  routingNumber:
                    type: string
                    description: US ABA routing number
                  country:
                    type: string
                    enum:
                      - US
                    default: US
                    description: >-
                      ISO 3166 country code of the recipient (ACH is
                      US-domestic)
                  accountType:
                    type: string
                    enum:
                      - PERSONAL
                      - BUSINESS
                    default: PERSONAL
                    description: Account type (optional)
                  bankAccountType:
                    type: string
                    enum:
                      - CHECKING
                      - SAVINGS
                    default: CHECKING
                    description: >-
                      Kind of bank account the payout lands in. Defaults to
                      CHECKING when omitted.
                  city:
                    type: string
                    description: >-
                      City of the recipient. REQUIRED for this rail — provide it
                      here or in destinationUserData.city.
                  postalCode:
                    type: string
                    description: >-
                      Postal code of the recipient. REQUIRED for this rail —
                      provide it here or in destinationUserData.postalCode.
                  state:
                    type: string
                    pattern: ^[A-Z]{2}$
                    description: >-
                      Two-letter US state code of the recipient (e.g. NY).
                      REQUIRED for this rail.
                  address:
                    type: string
                    description: >-
                      Street address (line 1) of the recipient. Forwarded as
                      payee address when creating the payee.
                  type:
                    type: string
                    enum:
                      - ACH_US
                required:
                  - destinationName
                  - accountNumber
                  - routingNumber
                  - state
                  - type
                description: USD ACH transfer details
                title: AchUS
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - linkedBankAccount
                  accountLinkId:
                    type: string
                    pattern: ^alnk_[0-9a-f]{24}$
                    description: >-
                      Identifier of one of the account holder own linked bank
                      accounts
                    examples:
                      - alnk_0123456789abcdef01234567
                required:
                  - type
                  - accountLinkId
                description: >-
                  A bank account the account holder linked beforehand. Pays out
                  only to the holder of the order; never to a third party. Not
                  available yet.
                title: LinkedBankAccount
                deprecated: true
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - ETH
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: ETH destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: ETH
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - MATIC
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: MATIC destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: MATIC
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - SOL
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: SOL destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: SOL
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - TRON
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: TRON destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: TRON
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - CELO
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: CELO destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: CELO
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - BTC
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: BTC destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: BTC
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - SOLANA
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: SOLANA destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: SOLANA
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - XRP
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: XRP destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: XRP
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - CARDANO
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: CARDANO destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: CARDANO
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - BSC
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: BSC destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: BSC
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - ARBITRUM
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: ARBITRUM destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: ARBITRUM
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - OPTIMISM
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: OPTIMISM destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: OPTIMISM
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - AVALANCHE
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: AVALANCHE destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: AVALANCHE
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - BASE
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: BASE destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: BASE
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id from GET /v1/currencies/COP/networks.
                      Not read by the payout; retained for the network selector
                      and for stored records.
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_COL
                  destinationBankCode:
                    type: string
                    description: >-
                      Recipient bank code — one of the 4-digit codes published
                      by GET
                      /v1/currencies/COP/destination-schema?method=bankDepositCOL
                      (the code, not the name). Required when creating or
                      updating a destination.
                  destinationBankAccountType:
                    type: string
                    description: >-
                      Bank account type — CORRIENTE or AHORRO. Required when
                      creating or updating a destination.
                  destinationTaxId:
                    type: string
                    description: >-
                      Recipient ID document number. Required when creating or
                      updating a destination.
                  destinationDocumentType:
                    type: string
                    description: >-
                      Recipient ID document type — CC, CE, NIT, TI or PP.
                      Required when creating or updating a destination.
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Colombian bank deposit details. Equivalent to ACH_COP — same
                  payout rail, same required fields, same bank roster; ACH_COP
                  is recommended for new integrations. Note that
                  BANK_DEPOSIT_COL is also the name of a COP collection rail.
                title: Bank Deposit COL
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  brebKey:
                    type: string
                    minLength: 1
                    description: Bre-B key (llave) that identifies the recipient account
                  email:
                    type: string
                    description: Recipient email (optional contact for the Bre-B rail)
                  destinationPhoneNumber:
                    type: string
                    description: >-
                      Recipient phone number (optional contact for the Bre-B
                      rail)
                  type:
                    type: string
                    enum:
                      - BRE_B_COP
                required:
                  - destinationName
                  - brebKey
                  - type
                description: Colombian Bre-B payout details
                title: Bre-B COP
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    pattern: ^\d{4}$
                    description: >-
                      Recipient bank code — one of the 4-digit codes published
                      by GET /v1/currencies/COP/destination-schema?method=achCOP
                      (the code, not the name)
                  destinationBankAccountNumber:
                    type: string
                    minLength: 1
                    description: Recipient bank account number
                  destinationBankAccountType:
                    type: string
                    minLength: 1
                    description: Bank account type (e.g. AHORROS / CORRIENTE)
                  destinationDocumentType:
                    type: string
                    minLength: 1
                    description: Recipient ID document type (e.g. CC / CE / NIT)
                  destinationTaxId:
                    type: string
                    minLength: 1
                    description: Recipient ID document number
                  type:
                    type: string
                    enum:
                      - ACH_COP
                required:
                  - destinationName
                  - destinationBankCode
                  - destinationBankAccountNumber
                  - destinationBankAccountType
                  - destinationDocumentType
                  - destinationTaxId
                  - type
                description: Colombian ACH payout details
                title: ACH COP
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: Payout network id (unused for TWD — no network discovery)
                  destinationBankName:
                    type: string
                    minLength: 2
                    description: Bank name (required — TWD payouts run over SWIFT)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_TW
                  destinationBankBranch:
                    type: string
                    minLength: 2
                    description: Bank branch (required — TWD payouts run over SWIFT)
                  bic:
                    type: string
                    pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                    description: SWIFT BIC code (required for TWD payouts)
                  destinationBankAccountType:
                    type: string
                    description: Type of bank account (legacy, optional)
                  destinationTaxId:
                    type: string
                    description: Tax ID of the recipient (legacy, optional)
                  destinationDocumentType:
                    type: string
                    description: Document type of the recipient (legacy, optional)
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationBankName
                  - type
                  - destinationBankBranch
                  - bic
                description: Taiwan bank deposit details (SWIFT payout)
                title: Bank Deposit TW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    description: Bank code
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationBankBranch:
                    type: string
                    description: Bank branch
                  destinationTaxId:
                    type: string
                    description: Tax ID of the recipient
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_BR
                required:
                  - destinationName
                  - destinationBankCode
                  - destinationBankAccount
                  - destinationBankBranch
                  - destinationTaxId
                  - type
                description: Brazilian bank deposit details
                title: Bank Deposit BR
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPixCode:
                    type: string
                    description: PIX code
                  destinationTaxId:
                    type: string
                    description: Tax ID of the recipient
                  type:
                    type: string
                    enum:
                      - PIX_BR
                required:
                  - destinationName
                  - destinationPixCode
                  - destinationTaxId
                  - type
                description: Brazilian PIX details
                title: PIX BR
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccountNumber:
                    type: string
                    description: Bank account number
                  destinationBankName:
                    type: string
                    description: Name of the bank
                  destinationTaxId:
                    type: string
                    pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                    description: Tax ID of the recipient
                  destinationBankAccountType:
                    type: string
                    description: Type of bank account
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_VEN
                required:
                  - destinationName
                  - destinationBankAccountNumber
                  - destinationBankName
                  - destinationTaxId
                  - destinationBankAccountType
                  - type
                description: Venezuelan bank deposit details
                title: Bank Deposit VEN
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    description: Bank code
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationTaxId:
                    type: string
                    pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                    description: Tax ID of the recipient
                  destinationBankAccountType:
                    type: string
                    description: Type of bank account
                  type:
                    type: string
                    enum:
                      - PHONE_DEPOSIT_VEN
                required:
                  - destinationName
                  - destinationBankCode
                  - destinationPhoneNumber
                  - destinationTaxId
                  - destinationBankAccountType
                  - type
                description: Venezuelan phone deposit details
                title: Phone Deposit VEN
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_IN
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  India bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit IN
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - IMPS
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  India IMPS details. Deprecated — no active payout corridor for
                  this method; orders using it are rejected. Retained for
                  backward compatibility with stored destinations.
                title: IMPS
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - THAI_QR
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Thailand Thai QR details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Thai QR
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - VIET_QR
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Vietnam Viet QR details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Viet QR
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - GCASH
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Philippines GCash details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: GCash
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationTaxId:
                    type: string
                    description: Tax ID
                  type:
                    type: string
                    enum:
                      - MOBILE_PAYMENT_IN
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - destinationTaxId
                  - type
                description: >-
                  India mobile payment details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Mobile Payment IN
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationBankCode:
                    type: string
                    description: Bank code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_VN
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationBankCode
                  - type
                description: >-
                  Vietnam bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit VN
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  bic:
                    type: string
                    description: >-
                      SWIFT BIC code (required for HKD payouts via the HK bank
                      corridor)
                  destinationBankName:
                    type: string
                    description: Bank name
                  destinationAddress:
                    type: string
                    description: Address line 1 of the recipient
                  destinationCity:
                    type: string
                    description: Recipient city (defaults to Hong Kong)
                  accountHolderName:
                    type: string
                    description: Bank account holder name if different from payee
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_HK
                required:
                  - destinationName
                  - destinationBankAccount
                  - bic
                  - destinationBankName
                  - destinationAddress
                  - type
                description: Hong Kong bank deposit details (HKD bank corridor)
                title: Bank Deposit HK
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationBankCode:
                    type: string
                    pattern: ^\d+$
                    description: CNAPS / bank institution code (numeric, variable length)
                  destinationBankName:
                    type: string
                    description: Bank name
                  destinationAddress:
                    type: string
                    description: Address line 1 of the recipient
                  destinationCity:
                    type: string
                    description: Recipient city
                  destinationState:
                    type: string
                    minLength: 1
                    description: >-
                      Province / state of the recipient (required for CN — the
                      beneficiary is rejected in compliance review without it)
                  destinationPostcode:
                    type: string
                    minLength: 1
                    description: >-
                      Postal code of the recipient (required for CN — the
                      beneficiary is rejected in compliance review without it)
                  destinationPhone:
                    type: string
                    description: >-
                      Phone number of the recipient, without country prefix
                      (optional; defaulted for CN when omitted)
                  destinationTaxId:
                    type: string
                    description: >-
                      Unified Social Credit Code (USCC, GB 32100-2015) of the
                      recipient company — 18 characters including the check
                      digit; whitespace is removed and letters are normalized to
                      uppercase (optional)
                  accountHolderName:
                    type: string
                    description: Bank account holder name if different from payee
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_CN
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationBankCode
                  - destinationBankName
                  - destinationAddress
                  - destinationCity
                  - destinationState
                  - destinationPostcode
                  - type
                description: China mainland bank deposit details (CNY bank corridor)
                title: Bank Deposit CN
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id from GET /v1/currencies/ARS/networks
                      (the network selector, optional)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_AR
                  destinationCBU:
                    type: string
                    description: CBU — 22-digit bank account key (legacy, optional)
                  destinationCVU:
                    type: string
                    description: CVU — 22-digit virtual account key (legacy, optional)
                  destinationAlias:
                    type: string
                    description: Account alias (legacy, optional)
                  destinationTaxId:
                    type: string
                    description: >-
                      CUIT/CUIL tax ID of the recipient (required when creating
                      ARS bank destinations): exactly 11 digits with no hyphens,
                      spaces or other characters, and a valid check digit (e.g.
                      20000000001)
                  destinationDocumentType:
                    type: string
                    description: Document type of the recipient (legacy, optional)
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Argentinian bank deposit details
                title: Bank Deposit AR
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    minLength: 1
                    description: Recipient bank name (required for Chilean bank payouts)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_CL
                  destinationBankAccountType:
                    type: string
                    minLength: 1
                    description: >-
                      Account type — corriente or ahorro (required for Chilean
                      bank payouts)
                  destinationTaxId:
                    type: string
                    minLength: 1
                    description: >-
                      RUT tax ID of the recipient (required for Chilean bank
                      payouts)
                  destinationDocumentType:
                    type: string
                    description: Document type of the recipient (legacy, optional)
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationBankName
                  - type
                  - destinationBankAccountType
                  - destinationTaxId
                description: Chilean bank deposit details
                title: Bank Deposit CL
              - type: object
                properties:
                  destinationName:
                    type: string
                    minLength: 2
                    maxLength: 30
                    description: Recipient name (required, 2–30 characters)
                  destinationBankAccount:
                    type: string
                    minLength: 1
                    maxLength: 11
                    description: Bank account number (max 11 digits for Bolivian accounts)
                  destinationNetworkId:
                    type: string
                    description: Payout network id (unused for BOB — no network discovery)
                  destinationBankName:
                    type: string
                    maxLength: 20
                    description: Bank name (optional, max 20 characters)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_BO
                  destinationTaxId:
                    type: string
                    minLength: 1
                    maxLength: 15
                    description: >-
                      NIT tax ID of the recipient (required for Bolivian
                      payouts)
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                  - destinationTaxId
                description: Bolivian bank deposit details
                title: Bank Deposit BO
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id from GET /v1/currencies/PEN/networks
                      (the network selector)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_PE
                  destinationCCI:
                    type: string
                    description: CCI — 20-digit interbank account code (legacy, optional)
                  destinationBankAccountType:
                    type: string
                    description: Account type (corriente/ahorro) (legacy, optional)
                  destinationTaxId:
                    type: string
                    description: DNI/RUC document ID of the recipient (legacy, optional)
                  destinationDocumentType:
                    type: string
                    description: Document type of the recipient (legacy, optional)
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationNetworkId
                  - type
                description: >-
                  Peruvian bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit PE
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    pattern: ^\d{3}$
                    description: >-
                      Recipient bank code (the 3-digit code the rail expects,
                      not the name)
                  destinationBankAccountNumber:
                    type: string
                    minLength: 1
                    maxLength: 20
                    description: Recipient bank account number (max 20)
                  destinationBankAccountType:
                    type: string
                    enum:
                      - CORRIENTE
                      - AHORROS
                      - PHONE
                    description: Bank account type
                  destinationCCI:
                    type: string
                    pattern: ^\d{1,20}$
                    description: >-
                      CCI — Peruvian interbank code (required, digits only, max
                      20)
                  destinationDocumentType:
                    type: string
                    enum:
                      - CC
                      - CE
                      - RUC
                      - PAS
                      - PAR
                      - LMI
                      - OTHER
                    description: Recipient identification type
                  destinationTaxId:
                    type: string
                    minLength: 1
                    maxLength: 50
                    description: Recipient identification number (max 50)
                  email:
                    type: string
                    pattern: ^.+@.+\..+$
                    description: Recipient email (required for PEN payouts)
                  destinationPhoneNumber:
                    type: string
                    pattern: ^\d{1,9}$
                    description: Recipient phone number (required, max 9 digits)
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_PEN
                required:
                  - destinationName
                  - destinationBankCode
                  - destinationBankAccountNumber
                  - destinationBankAccountType
                  - destinationCCI
                  - destinationDocumentType
                  - destinationTaxId
                  - email
                  - destinationPhoneNumber
                  - type
                description: Peruvian bank deposit details (bank-code payout corridor).
                title: Bank Deposit PEN
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_NG
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Nigeria bank deposit details
                title: Bank Deposit NG
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_KE
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Kenya bank deposit details
                title: Bank Deposit KE
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_GH
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Ghana bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit GH
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_ZA
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: South Africa bank deposit details
                title: Bank Deposit ZA
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_TZ
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Tanzania bank deposit details
                title: Bank Deposit TZ
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_UG
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Uganda bank deposit details
                title: Bank Deposit UG
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_RW
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Rwanda bank deposit details
                title: Bank Deposit RW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_MW
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Malawi bank deposit details
                title: Bank Deposit MW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_ZM
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Zambia bank deposit details
                title: Bank Deposit ZM
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_BW
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Botswana bank deposit details
                title: Bank Deposit BW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_CD
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  DR Congo bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit CD
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_XOF
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: West African CFA bank deposit details
                title: Bank Deposit XOF
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_XAF
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Central African CFA bank deposit details
                title: Bank Deposit XAF
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_NG
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Nigeria mobile money details
                title: Mobile Money NG
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_KE
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Kenya mobile money details
                title: Mobile Money KE
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_GH
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: >-
                  Ghana mobile money details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Mobile Money GH
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_ZA
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: South Africa mobile money details
                title: Mobile Money ZA
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_TZ
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Tanzania mobile money details
                title: Mobile Money TZ
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_UG
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Uganda mobile money details
                title: Mobile Money UG
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_RW
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Rwanda mobile money details
                title: Mobile Money RW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_MW
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Malawi mobile money details
                title: Mobile Money MW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_ZM
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Zambia mobile money details
                title: Mobile Money ZM
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_BW
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Botswana mobile money details
                title: Mobile Money BW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_CD
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: >-
                  DR Congo mobile money details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Mobile Money CD
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_XOF
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: West African CFA mobile money details
                title: Mobile Money XOF
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_XAF
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Central African CFA mobile money details
                title: Mobile Money XAF
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    description: Bank code
                  destinationBankAccountNumber:
                    type: string
                    description: Bank account number (18-digit CLABE)
                  numericReference:
                    type: string
                    description: Numeric reference
                  notesReference:
                    type: string
                    description: Notes reference
                  destinationClabe:
                    type: string
                    description: CLABE — legacy alias, prefer destinationBankAccountNumber
                  destinationTaxId:
                    type: string
                    description: >-
                      Recipient tax id (RFC) — required by some MX bank-deposit
                      rails ("Número de Identificación"); optional otherwise
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_MX
                required:
                  - destinationName
                  - destinationBankAccountNumber
                  - type
                description: Mexican bank deposit details
                title: Bank Deposit MX
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPseNumber:
                    type: string
                    description: PSE number
                  type:
                    type: string
                    enum:
                      - PSE
                required:
                  - destinationName
                  - destinationPseNumber
                  - type
                description: >-
                  PSE transfer details. Deprecated — no active payout corridor
                  for this method; orders using it are rejected. Retained for
                  backward compatibility with stored destinations.
                title: PSE
                deprecated: true
            description: The details required for the end user destination transfer method.
          status:
            anyOf:
              - type: string
                enum:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
                description: >-
                  Common status values that are shared across all operation
                  types
                examples:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
              - type: string
                enum:
                  - PendingCancel
                  - PendingWithdrawal
                  - PendingVerification
                  - Pending2FA
                  - Compliance
                  - Accepted
                  - Approved
                  - Rejected
                  - Review
            description: Status of the withdrawal
            examples:
              - Pending
              - Pending2FA
              - Compliance
              - Accepted
              - Approved
              - Success
              - Failed
              - Review
              - Rejected
          withdrawalInfo:
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - BALANCE
                required:
                  - type
                description: Balance transfer details
                title: Balance
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  iban:
                    type: string
                    description: IBAN number
                  bic:
                    type: string
                    description: BIC number (optional)
                  country:
                    type: string
                    description: Country code
                  accountType:
                    type: string
                    enum:
                      - PERSONAL
                      - BUSINESS
                    default: PERSONAL
                    description: Account type (optional)
                  city:
                    type: string
                    description: >-
                      City of the recipient. REQUIRED for SEPA payouts — provide
                      it here or in destinationUserData.city.
                  postalCode:
                    type: string
                    description: >-
                      Postal code of the recipient. REQUIRED for SEPA payouts —
                      provide it here or in destinationUserData.postalCode.
                  address:
                    type: string
                    description: >-
                      Street address (line 1) of the recipient. Forwarded as the
                      payout beneficiary `address.line1` when registering the
                      beneficiary. Stored on the saved transaction method so the
                      user does not have to re-supply it on every withdraw.
                  type:
                    type: string
                    enum:
                      - SEPA
                required:
                  - destinationName
                  - iban
                  - country
                  - type
                description: SEPA transfer details
                title: SEPA
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  accountNumber:
                    type: string
                    description: UK bank account number
                  sortCode:
                    type: string
                    description: UK sort code
                  country:
                    type: string
                    enum:
                      - GB
                    default: GB
                    description: >-
                      ISO 3166 country code of the recipient (GBP transfer is
                      UK-based)
                  accountType:
                    type: string
                    enum:
                      - PERSONAL
                      - BUSINESS
                    default: PERSONAL
                    description: Account type (optional)
                  city:
                    type: string
                    description: >-
                      City of the recipient. REQUIRED for this rail — provide it
                      here or in destinationUserData.city.
                  postalCode:
                    type: string
                    description: >-
                      Postal code of the recipient. REQUIRED for this rail —
                      provide it here or in destinationUserData.postalCode.
                  address:
                    type: string
                    description: >-
                      Street address (line 1) of the recipient. Forwarded as
                      payee address when creating the payee.
                  type:
                    type: string
                    enum:
                      - GBP_BANK_TRANSFER
                required:
                  - destinationName
                  - accountNumber
                  - sortCode
                  - type
                description: GBP domestic bank transfer details
                title: BankDepositGB
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  accountNumber:
                    type: string
                    description: US bank account number
                  routingNumber:
                    type: string
                    description: US ABA routing number
                  country:
                    type: string
                    enum:
                      - US
                    default: US
                    description: >-
                      ISO 3166 country code of the recipient (ACH is
                      US-domestic)
                  accountType:
                    type: string
                    enum:
                      - PERSONAL
                      - BUSINESS
                    default: PERSONAL
                    description: Account type (optional)
                  bankAccountType:
                    type: string
                    enum:
                      - CHECKING
                      - SAVINGS
                    default: CHECKING
                    description: >-
                      Kind of bank account the payout lands in. Defaults to
                      CHECKING when omitted.
                  city:
                    type: string
                    description: >-
                      City of the recipient. REQUIRED for this rail — provide it
                      here or in destinationUserData.city.
                  postalCode:
                    type: string
                    description: >-
                      Postal code of the recipient. REQUIRED for this rail —
                      provide it here or in destinationUserData.postalCode.
                  state:
                    type: string
                    pattern: ^[A-Z]{2}$
                    description: >-
                      Two-letter US state code of the recipient (e.g. NY).
                      REQUIRED for this rail.
                  address:
                    type: string
                    description: >-
                      Street address (line 1) of the recipient. Forwarded as
                      payee address when creating the payee.
                  type:
                    type: string
                    enum:
                      - ACH_US
                required:
                  - destinationName
                  - accountNumber
                  - routingNumber
                  - state
                  - type
                description: USD ACH transfer details
                title: AchUS
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - linkedBankAccount
                  accountLinkId:
                    type: string
                    pattern: ^alnk_[0-9a-f]{24}$
                    description: >-
                      Identifier of one of the account holder own linked bank
                      accounts
                    examples:
                      - alnk_0123456789abcdef01234567
                required:
                  - type
                  - accountLinkId
                description: >-
                  A bank account the account holder linked beforehand. Pays out
                  only to the holder of the order; never to a third party. Not
                  available yet.
                title: LinkedBankAccount
                deprecated: true
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - ETH
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: ETH destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: ETH
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - MATIC
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: MATIC destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: MATIC
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - SOL
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: SOL destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: SOL
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - TRON
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: TRON destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: TRON
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - CELO
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: CELO destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: CELO
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - BTC
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: BTC destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: BTC
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - SOLANA
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: SOLANA destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: SOLANA
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - XRP
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: XRP destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: XRP
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - CARDANO
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: CARDANO destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: \S
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: \S
                title: CARDANO
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - BSC
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: BSC destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: BSC
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - ARBITRUM
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: ARBITRUM destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: ARBITRUM
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - OPTIMISM
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: OPTIMISM destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: OPTIMISM
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - AVALANCHE
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: AVALANCHE destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: AVALANCHE
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - BASE
                  address:
                    type: string
                    description: >-
                      Destination wallet address. Send this rather than the
                      legacy `destinationWalletAddress` — at least one of the
                      two is required, and a payload carrying neither is
                      rejected. On EVM chains the address is "0x" followed by 40
                      hex characters.
                  memo:
                    type: string
                    description: Memo for the wallet, when the chain uses one
                  txId:
                    type: string
                    description: Blockchain transaction ID
                  txUrlScan:
                    type: string
                    description: Blockchain explorer URL for the transaction
                  destinationWalletAddress:
                    type: string
                    description: >-
                      Destination wallet address (legacy shape). Still accepted,
                      but send `address` instead — at least one of the two is
                      required and supplying neither is rejected.
                  destinationWalletMemo:
                    type: string
                    description: Memo for the wallet (legacy shape) — send `memo` instead
                  destinationNetwork:
                    type: string
                    description: >-
                      Network name, when the corridor addresses the chain by
                      name rather than by `type`
                  destinationNetworkId:
                    type: string
                    description: >-
                      Network id from GET /v1/currencies/{currency}/networks,
                      for corridors where `supportsNetworkDiscovery` is true
                  destinationCurrencySymbol:
                    type: string
                    description: >-
                      Asset symbol on the chain. `type` names the chain, so this
                      is what separates the native coin from tokens on it — ETH
                      from USDC-on-Ethereum.
                required:
                  - type
                description: BASE destination details
                anyOf:
                  - required:
                      - address
                    properties:
                      address:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  - required:
                      - destinationWalletAddress
                    properties:
                      destinationWalletAddress:
                        pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                title: BASE
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id from GET /v1/currencies/COP/networks.
                      Not read by the payout; retained for the network selector
                      and for stored records.
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_COL
                  destinationBankCode:
                    type: string
                    description: >-
                      Recipient bank code — one of the 4-digit codes published
                      by GET
                      /v1/currencies/COP/destination-schema?method=bankDepositCOL
                      (the code, not the name). Required when creating or
                      updating a destination.
                  destinationBankAccountType:
                    type: string
                    description: >-
                      Bank account type — CORRIENTE or AHORRO. Required when
                      creating or updating a destination.
                  destinationTaxId:
                    type: string
                    description: >-
                      Recipient ID document number. Required when creating or
                      updating a destination.
                  destinationDocumentType:
                    type: string
                    description: >-
                      Recipient ID document type — CC, CE, NIT, TI or PP.
                      Required when creating or updating a destination.
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Colombian bank deposit details. Equivalent to ACH_COP — same
                  payout rail, same required fields, same bank roster; ACH_COP
                  is recommended for new integrations. Note that
                  BANK_DEPOSIT_COL is also the name of a COP collection rail.
                title: Bank Deposit COL
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  brebKey:
                    type: string
                    minLength: 1
                    description: Bre-B key (llave) that identifies the recipient account
                  email:
                    type: string
                    description: Recipient email (optional contact for the Bre-B rail)
                  destinationPhoneNumber:
                    type: string
                    description: >-
                      Recipient phone number (optional contact for the Bre-B
                      rail)
                  type:
                    type: string
                    enum:
                      - BRE_B_COP
                required:
                  - destinationName
                  - brebKey
                  - type
                description: Colombian Bre-B payout details
                title: Bre-B COP
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    pattern: ^\d{4}$
                    description: >-
                      Recipient bank code — one of the 4-digit codes published
                      by GET /v1/currencies/COP/destination-schema?method=achCOP
                      (the code, not the name)
                  destinationBankAccountNumber:
                    type: string
                    minLength: 1
                    description: Recipient bank account number
                  destinationBankAccountType:
                    type: string
                    minLength: 1
                    description: Bank account type (e.g. AHORROS / CORRIENTE)
                  destinationDocumentType:
                    type: string
                    minLength: 1
                    description: Recipient ID document type (e.g. CC / CE / NIT)
                  destinationTaxId:
                    type: string
                    minLength: 1
                    description: Recipient ID document number
                  type:
                    type: string
                    enum:
                      - ACH_COP
                required:
                  - destinationName
                  - destinationBankCode
                  - destinationBankAccountNumber
                  - destinationBankAccountType
                  - destinationDocumentType
                  - destinationTaxId
                  - type
                description: Colombian ACH payout details
                title: ACH COP
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: Payout network id (unused for TWD — no network discovery)
                  destinationBankName:
                    type: string
                    minLength: 2
                    description: Bank name (required — TWD payouts run over SWIFT)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_TW
                  destinationBankBranch:
                    type: string
                    minLength: 2
                    description: Bank branch (required — TWD payouts run over SWIFT)
                  bic:
                    type: string
                    pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                    description: SWIFT BIC code (required for TWD payouts)
                  destinationBankAccountType:
                    type: string
                    description: Type of bank account (legacy, optional)
                  destinationTaxId:
                    type: string
                    description: Tax ID of the recipient (legacy, optional)
                  destinationDocumentType:
                    type: string
                    description: Document type of the recipient (legacy, optional)
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationBankName
                  - type
                  - destinationBankBranch
                  - bic
                description: Taiwan bank deposit details (SWIFT payout)
                title: Bank Deposit TW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    description: Bank code
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationBankBranch:
                    type: string
                    description: Bank branch
                  destinationTaxId:
                    type: string
                    description: Tax ID of the recipient
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_BR
                required:
                  - destinationName
                  - destinationBankCode
                  - destinationBankAccount
                  - destinationBankBranch
                  - destinationTaxId
                  - type
                description: Brazilian bank deposit details
                title: Bank Deposit BR
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPixCode:
                    type: string
                    description: PIX code
                  destinationTaxId:
                    type: string
                    description: Tax ID of the recipient
                  type:
                    type: string
                    enum:
                      - PIX_BR
                required:
                  - destinationName
                  - destinationPixCode
                  - destinationTaxId
                  - type
                description: Brazilian PIX details
                title: PIX BR
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccountNumber:
                    type: string
                    description: Bank account number
                  destinationBankName:
                    type: string
                    description: Name of the bank
                  destinationTaxId:
                    type: string
                    pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                    description: Tax ID of the recipient
                  destinationBankAccountType:
                    type: string
                    description: Type of bank account
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_VEN
                required:
                  - destinationName
                  - destinationBankAccountNumber
                  - destinationBankName
                  - destinationTaxId
                  - destinationBankAccountType
                  - type
                description: Venezuelan bank deposit details
                title: Bank Deposit VEN
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    description: Bank code
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationTaxId:
                    type: string
                    pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                    description: Tax ID of the recipient
                  destinationBankAccountType:
                    type: string
                    description: Type of bank account
                  type:
                    type: string
                    enum:
                      - PHONE_DEPOSIT_VEN
                required:
                  - destinationName
                  - destinationBankCode
                  - destinationPhoneNumber
                  - destinationTaxId
                  - destinationBankAccountType
                  - type
                description: Venezuelan phone deposit details
                title: Phone Deposit VEN
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_IN
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  India bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit IN
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - IMPS
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  India IMPS details. Deprecated — no active payout corridor for
                  this method; orders using it are rejected. Retained for
                  backward compatibility with stored destinations.
                title: IMPS
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - THAI_QR
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Thailand Thai QR details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Thai QR
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - VIET_QR
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Vietnam Viet QR details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Viet QR
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationIFSC:
                    type: string
                    description: IFSC code
                  type:
                    type: string
                    enum:
                      - GCASH
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Philippines GCash details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: GCash
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationTaxId:
                    type: string
                    description: Tax ID
                  type:
                    type: string
                    enum:
                      - MOBILE_PAYMENT_IN
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - destinationTaxId
                  - type
                description: >-
                  India mobile payment details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Mobile Payment IN
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationBankCode:
                    type: string
                    description: Bank code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_VN
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationBankCode
                  - type
                description: >-
                  Vietnam bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit VN
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  bic:
                    type: string
                    description: >-
                      SWIFT BIC code (required for HKD payouts via the HK bank
                      corridor)
                  destinationBankName:
                    type: string
                    description: Bank name
                  destinationAddress:
                    type: string
                    description: Address line 1 of the recipient
                  destinationCity:
                    type: string
                    description: Recipient city (defaults to Hong Kong)
                  accountHolderName:
                    type: string
                    description: Bank account holder name if different from payee
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_HK
                required:
                  - destinationName
                  - destinationBankAccount
                  - bic
                  - destinationBankName
                  - destinationAddress
                  - type
                description: Hong Kong bank deposit details (HKD bank corridor)
                title: Bank Deposit HK
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationBankCode:
                    type: string
                    pattern: ^\d+$
                    description: CNAPS / bank institution code (numeric, variable length)
                  destinationBankName:
                    type: string
                    description: Bank name
                  destinationAddress:
                    type: string
                    description: Address line 1 of the recipient
                  destinationCity:
                    type: string
                    description: Recipient city
                  destinationState:
                    type: string
                    minLength: 1
                    description: >-
                      Province / state of the recipient (required for CN — the
                      beneficiary is rejected in compliance review without it)
                  destinationPostcode:
                    type: string
                    minLength: 1
                    description: >-
                      Postal code of the recipient (required for CN — the
                      beneficiary is rejected in compliance review without it)
                  destinationPhone:
                    type: string
                    description: >-
                      Phone number of the recipient, without country prefix
                      (optional; defaulted for CN when omitted)
                  destinationTaxId:
                    type: string
                    description: >-
                      Unified Social Credit Code (USCC, GB 32100-2015) of the
                      recipient company — 18 characters including the check
                      digit; whitespace is removed and letters are normalized to
                      uppercase (optional)
                  accountHolderName:
                    type: string
                    description: Bank account holder name if different from payee
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_CN
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationBankCode
                  - destinationBankName
                  - destinationAddress
                  - destinationCity
                  - destinationState
                  - destinationPostcode
                  - type
                description: China mainland bank deposit details (CNY bank corridor)
                title: Bank Deposit CN
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id from GET /v1/currencies/ARS/networks
                      (the network selector, optional)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_AR
                  destinationCBU:
                    type: string
                    description: CBU — 22-digit bank account key (legacy, optional)
                  destinationCVU:
                    type: string
                    description: CVU — 22-digit virtual account key (legacy, optional)
                  destinationAlias:
                    type: string
                    description: Account alias (legacy, optional)
                  destinationTaxId:
                    type: string
                    description: >-
                      CUIT/CUIL tax ID of the recipient (required when creating
                      ARS bank destinations): exactly 11 digits with no hyphens,
                      spaces or other characters, and a valid check digit (e.g.
                      20000000001)
                  destinationDocumentType:
                    type: string
                    description: Document type of the recipient (legacy, optional)
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Argentinian bank deposit details
                title: Bank Deposit AR
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    minLength: 1
                    description: Recipient bank name (required for Chilean bank payouts)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_CL
                  destinationBankAccountType:
                    type: string
                    minLength: 1
                    description: >-
                      Account type — corriente or ahorro (required for Chilean
                      bank payouts)
                  destinationTaxId:
                    type: string
                    minLength: 1
                    description: >-
                      RUT tax ID of the recipient (required for Chilean bank
                      payouts)
                  destinationDocumentType:
                    type: string
                    description: Document type of the recipient (legacy, optional)
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationBankName
                  - type
                  - destinationBankAccountType
                  - destinationTaxId
                description: Chilean bank deposit details
                title: Bank Deposit CL
              - type: object
                properties:
                  destinationName:
                    type: string
                    minLength: 2
                    maxLength: 30
                    description: Recipient name (required, 2–30 characters)
                  destinationBankAccount:
                    type: string
                    minLength: 1
                    maxLength: 11
                    description: Bank account number (max 11 digits for Bolivian accounts)
                  destinationNetworkId:
                    type: string
                    description: Payout network id (unused for BOB — no network discovery)
                  destinationBankName:
                    type: string
                    maxLength: 20
                    description: Bank name (optional, max 20 characters)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_BO
                  destinationTaxId:
                    type: string
                    minLength: 1
                    maxLength: 15
                    description: >-
                      NIT tax ID of the recipient (required for Bolivian
                      payouts)
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                  - destinationTaxId
                description: Bolivian bank deposit details
                title: Bank Deposit BO
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id from GET /v1/currencies/PEN/networks
                      (the network selector)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_PE
                  destinationCCI:
                    type: string
                    description: CCI — 20-digit interbank account code (legacy, optional)
                  destinationBankAccountType:
                    type: string
                    description: Account type (corriente/ahorro) (legacy, optional)
                  destinationTaxId:
                    type: string
                    description: DNI/RUC document ID of the recipient (legacy, optional)
                  destinationDocumentType:
                    type: string
                    description: Document type of the recipient (legacy, optional)
                required:
                  - destinationName
                  - destinationBankAccount
                  - destinationNetworkId
                  - type
                description: >-
                  Peruvian bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit PE
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    pattern: ^\d{3}$
                    description: >-
                      Recipient bank code (the 3-digit code the rail expects,
                      not the name)
                  destinationBankAccountNumber:
                    type: string
                    minLength: 1
                    maxLength: 20
                    description: Recipient bank account number (max 20)
                  destinationBankAccountType:
                    type: string
                    enum:
                      - CORRIENTE
                      - AHORROS
                      - PHONE
                    description: Bank account type
                  destinationCCI:
                    type: string
                    pattern: ^\d{1,20}$
                    description: >-
                      CCI — Peruvian interbank code (required, digits only, max
                      20)
                  destinationDocumentType:
                    type: string
                    enum:
                      - CC
                      - CE
                      - RUC
                      - PAS
                      - PAR
                      - LMI
                      - OTHER
                    description: Recipient identification type
                  destinationTaxId:
                    type: string
                    minLength: 1
                    maxLength: 50
                    description: Recipient identification number (max 50)
                  email:
                    type: string
                    pattern: ^.+@.+\..+$
                    description: Recipient email (required for PEN payouts)
                  destinationPhoneNumber:
                    type: string
                    pattern: ^\d{1,9}$
                    description: Recipient phone number (required, max 9 digits)
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_PEN
                required:
                  - destinationName
                  - destinationBankCode
                  - destinationBankAccountNumber
                  - destinationBankAccountType
                  - destinationCCI
                  - destinationDocumentType
                  - destinationTaxId
                  - email
                  - destinationPhoneNumber
                  - type
                description: Peruvian bank deposit details (bank-code payout corridor).
                title: Bank Deposit PEN
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_NG
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Nigeria bank deposit details
                title: Bank Deposit NG
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_KE
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Kenya bank deposit details
                title: Bank Deposit KE
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_GH
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  Ghana bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit GH
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_ZA
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: South Africa bank deposit details
                title: Bank Deposit ZA
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_TZ
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Tanzania bank deposit details
                title: Bank Deposit TZ
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_UG
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Uganda bank deposit details
                title: Bank Deposit UG
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_RW
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Rwanda bank deposit details
                title: Bank Deposit RW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_MW
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Malawi bank deposit details
                title: Bank Deposit MW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_ZM
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Zambia bank deposit details
                title: Bank Deposit ZM
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_BW
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Botswana bank deposit details
                title: Bank Deposit BW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_CD
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: >-
                  DR Congo bank deposit details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Bank Deposit CD
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_XOF
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: West African CFA bank deposit details
                title: Bank Deposit XOF
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankAccount:
                    type: string
                    description: Bank account
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationBankName is
                      given)
                  destinationBankName:
                    type: string
                    description: Bank name (used to resolve the network when id is omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_XAF
                required:
                  - destinationName
                  - destinationBankAccount
                  - type
                description: Central African CFA bank deposit details
                title: Bank Deposit XAF
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_NG
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Nigeria mobile money details
                title: Mobile Money NG
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_KE
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Kenya mobile money details
                title: Mobile Money KE
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_GH
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: >-
                  Ghana mobile money details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Mobile Money GH
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_ZA
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: South Africa mobile money details
                title: Mobile Money ZA
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_TZ
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Tanzania mobile money details
                title: Mobile Money TZ
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_UG
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Uganda mobile money details
                title: Mobile Money UG
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_RW
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Rwanda mobile money details
                title: Mobile Money RW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_MW
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Malawi mobile money details
                title: Mobile Money MW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_ZM
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Zambia mobile money details
                title: Mobile Money ZM
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_BW
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Botswana mobile money details
                title: Mobile Money BW
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_CD
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: >-
                  DR Congo mobile money details. Deprecated — no active payout
                  corridor for this method; orders using it are rejected.
                  Retained for backward compatibility with stored destinations.
                title: Mobile Money CD
                deprecated: true
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_XOF
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: West African CFA mobile money details
                title: Mobile Money XOF
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPhoneNumber:
                    type: string
                    description: Phone number
                  destinationNetworkId:
                    type: string
                    description: >-
                      Payout network id (optional if destinationNetworkName is
                      given)
                  destinationNetworkName:
                    type: string
                    description: >-
                      Mobile money network name (resolves the network when id
                      omitted)
                  country:
                    type: string
                    description: ISO 3166 country code
                  type:
                    type: string
                    enum:
                      - MOBILE_MONEY_XAF
                required:
                  - destinationName
                  - destinationPhoneNumber
                  - type
                description: Central African CFA mobile money details
                title: Mobile Money XAF
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationBankCode:
                    type: string
                    description: Bank code
                  destinationBankAccountNumber:
                    type: string
                    description: Bank account number (18-digit CLABE)
                  numericReference:
                    type: string
                    description: Numeric reference
                  notesReference:
                    type: string
                    description: Notes reference
                  destinationClabe:
                    type: string
                    description: CLABE — legacy alias, prefer destinationBankAccountNumber
                  destinationTaxId:
                    type: string
                    description: >-
                      Recipient tax id (RFC) — required by some MX bank-deposit
                      rails ("Número de Identificación"); optional otherwise
                  type:
                    type: string
                    enum:
                      - BANK_DEPOSIT_MX
                required:
                  - destinationName
                  - destinationBankAccountNumber
                  - type
                description: Mexican bank deposit details
                title: Bank Deposit MX
              - type: object
                properties:
                  destinationName:
                    type: string
                    description: Name of the recipient
                  destinationPseNumber:
                    type: string
                    description: PSE number
                  type:
                    type: string
                    enum:
                      - PSE
                required:
                  - destinationName
                  - destinationPseNumber
                  - type
                description: >-
                  PSE transfer details. Deprecated — no active payout corridor
                  for this method; orders using it are rejected. Retained for
                  backward compatibility with stored destinations.
                title: PSE
                deprecated: true
            description: Detailed withdrawal information
            title: WithdrawalInfo
          source:
            type: string
            enum:
              - ui
              - apiApp
              - externalApi
              - internal
            description: Source of withdrawal creation
            example: externalApi
          requires2FA:
            type: boolean
            description: Whether 2FA is required for this withdrawal
            example: false
          twoFactorToken:
            type: string
            description: 2FA token for email approval
            example: abc123
          twoFactorApprovedAt:
            type: number
            description: Timestamp when 2FA was approved
            example: 1723027132
          errorCode:
            type: string
            description: Error code when status is Review
            example: INSUFFICIENT_BALANCE
          errorDetails:
            type: string
            description: Detailed error information
            example: Insufficient balance for withdrawal
          reviewedBy:
            type: string
            description: Admin email who reviewed the withdrawal
            example: admin@example.com
          reviewedAt:
            type: number
            description: Timestamp when review happened
            example: 1723027132
        required:
          - withdrawalId
          - createdAt
          - amount
          - currency
          - fee
          - feeCurrency
          - status
        description: Withdrawal Data
      description: Response schema for listing withdrawals
    DeleteWithdrawalRequest:
      type: object
      properties:
        withdrawalId:
          type: string
          description: ID of the withdrawal
        userEmail:
          type: string
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: Email of the user making the request
          example: user@example.com
      required:
        - withdrawalId
      description: Request schema for deleting a withdrawal
    DeleteWithdrawalResponse:
      type: object
      properties: {}
      description: Response schema for successful deletion
    CreateKYCRequest:
      type: object
      properties:
        userEmail:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: User email. Must match your workspace account onboarding rules.
        userPhone:
          type: string
          description: >-
            Optional. Required for some corridors (e.g. India, Turkey). Format:
            country code with `+`, a hyphen, then the number (e.g.
            +44-7700900123).
        externalUserId:
          type: string
          description: >-
            Optional. Your own user identifier in your system, if you track
            users externally.
        countryCode:
          type: string
          enum:
            - AW
            - AF
            - AO
            - AI
            - AX
            - AL
            - AD
            - AE
            - AR
            - AM
            - AS
            - AQ
            - TF
            - AG
            - AU
            - AT
            - AZ
            - BI
            - BE
            - BJ
            - BQ
            - BF
            - BD
            - BG
            - BH
            - BS
            - BA
            - BL
            - BY
            - BZ
            - BM
            - BO
            - BR
            - BB
            - BN
            - BT
            - BV
            - BW
            - CF
            - CA
            - CC
            - CH
            - CL
            - CN
            - CI
            - CM
            - CD
            - CG
            - CK
            - CO
            - KM
            - CV
            - CR
            - CU
            - CW
            - CX
            - KY
            - CY
            - CZ
            - DE
            - DJ
            - DM
            - DK
            - DO
            - DZ
            - EC
            - EG
            - ER
            - EH
            - ES
            - EE
            - ET
            - FI
            - FJ
            - FK
            - FR
            - FO
            - FM
            - GA
            - GB
            - GE
            - GG
            - GH
            - GI
            - GN
            - GP
            - GM
            - GW
            - GQ
            - GR
            - GD
            - GL
            - GT
            - GF
            - GU
            - GY
            - HK
            - HM
            - HN
            - HR
            - HT
            - HU
            - ID
            - IM
            - IN
            - IO
            - IE
            - IR
            - IQ
            - IS
            - IL
            - IT
            - JM
            - JE
            - JO
            - JP
            - KZ
            - KE
            - KG
            - KH
            - KI
            - KN
            - KR
            - KW
            - LA
            - LB
            - LR
            - LY
            - LC
            - LI
            - LK
            - LS
            - LT
            - LU
            - LV
            - MO
            - MF
            - MA
            - MC
            - MD
            - MG
            - MV
            - MX
            - MH
            - MK
            - ML
            - MT
            - MM
            - ME
            - MN
            - MP
            - MZ
            - MR
            - MS
            - MQ
            - MU
            - MW
            - MY
            - YT
            - NA
            - NC
            - NE
            - NF
            - NG
            - NI
            - NU
            - NL
            - 'NO'
            - NP
            - NR
            - NZ
            - OM
            - PK
            - PA
            - PN
            - PE
            - PH
            - PW
            - PG
            - PL
            - PR
            - KP
            - PT
            - PY
            - PS
            - PF
            - QA
            - RE
            - RO
            - RU
            - RW
            - SA
            - SD
            - SN
            - SG
            - GS
            - SH
            - SJ
            - SB
            - SL
            - SV
            - SM
            - SO
            - PM
            - RS
            - SS
            - ST
            - SR
            - SK
            - SI
            - SE
            - SZ
            - SX
            - SC
            - SY
            - TC
            - TD
            - TG
            - TH
            - TJ
            - TK
            - TM
            - TL
            - TO
            - TT
            - TN
            - TR
            - TV
            - TW
            - TZ
            - UG
            - UA
            - UM
            - UY
            - US
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - YE
            - ZA
            - ZM
            - ZW
          description: >-
            ISO 3166-1 alpha-2 issuing country (e.g. ES, GB). Pre-selects the
            country in the hosted verification widget; the backend maps it to
            ISO alpha-3 for the provider WebSDK.
        sendOTPMail:
          type: boolean
          description: >-
            Whether to send an OTP email to the user. Exact behavior follows
            your integration contract with VirtuaBroker.
        type:
          type: string
          enum:
            - INDIVIDUAL
            - BUSINESS
          description: >-
            KYC category: `INDIVIDUAL` for a natural person or `BUSINESS` for a
            business flow, per your product setup.
        language:
          type: string
          description: >-
            Optional. Widget UI language and access-token locale (e.g. en, es,
            fr). If omitted or blank, `en` is used. Use codes supported by the
            verification provider WebSDK.
        theme:
          type: string
          enum:
            - dark
            - light
          description: >-
            Optional. Hosted widget theme for the provider WebSDK. **Default:
            dark** (omit or send `dark`). Send `light` only for light mode.
        blank:
          type: boolean
          description: >-
            Optional. If `true`, the hosted widget page uses blank framing
            (minimal chrome: no extra branding, borders, or padding around the
            iframe).
        width:
          type: string
          description: >-
            Optional. CSS width for the widget container on the hosted page
            (e.g. `100%`, `800px`, `1200px`).
        height:
          type: string
          description: >-
            Optional. CSS height for the widget container on the hosted page
            (e.g. `100vh`, `600px`, `auto`).
        forceMobile:
          type: boolean
          description: >-
            Optional. If `true`, forces the verification widget to render its
            mobile layout regardless of the screen width.
        successUrl:
          type: string
          format: uri
          description: >-
            Optional. URL the user is redirected to after completing
            verification, where the hosted verification flow supports it.
            Ignored when no redirect is supported.
        errorUrl:
          type: string
          format: uri
          description: >-
            Optional. URL the user is redirected to if verification
            fails/cancels, where the provider supports it. Ignored by providers
            that expose no redirect.
      required:
        - userEmail
        - countryCode
        - sendOTPMail
        - type
      description: >-
        Request body for starting or continuing KYC. Required fields are sent on
        every call; optional fields tune the hosted verification widget and
        token locale.
    CreateKYCResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the API call completed successfully.
        kycUrl:
          type: string
          description: >-
            Present when the user must complete verification: open this URL in a
            browser or WebView to run the hosted widget. Omitted when the user
            is already approved or no widget step is needed.
        kycId:
          type: string
          description: Your KYC reference ID, used for support and correlation.
        userEmail:
          type: string
          description: Echo of the user email from the request.
        missingInfo:
          type: object
          properties:
            firstName:
              type: string
              description: First name
            lastName:
              type: string
              description: Last name
            email:
              type: string
              description: Email
            phone:
              type: string
              description: Phone
          description: >-
            If present, fields the user still needs to provide before
            verification can continue.
        status:
          type: string
          enum:
            - PENDING
            - REVIEWING
            - IN_PROGRESS
            - APPROVED
            - REJECTED
            - NOT_AVAILABLE
          description: >-
            Current KYC status in the external API enum (e.g. PENDING,
            APPROVED).
        missingFields:
          type: array
          items:
            type: string
          description: >-
            Identity fields the user must still provide (via POST /v1/kyc/data)
            before verification can start. Present when the configured provider
            needs profile data that is not yet on file; when non-empty, `kycUrl`
            is omitted.
        errorMessage:
          type: string
          description: >-
            Human-readable error when `success` is false or the operation could
            not complete.
      required:
        - success
      description: >-
        Response from POST /v1/kyc: outcome, optional widget URL, and
        verification status.
    GetKYCStatusRequest:
      type: object
      properties:
        userEmail:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: User email
      required:
        - userEmail
    GetKYCStatusResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - PENDING
            - REVIEWING
            - IN_PROGRESS
            - APPROVED
            - REJECTED
            - NOT_AVAILABLE
          description: Status of the KYC
        missingFields:
          type: array
          items:
            type: string
          description: >-
            Identity fields still required by the workspace’s configured KYC
            provider before verification can complete. Empty/absent when nothing
            is outstanding.
        missingInfo:
          type: object
          properties:
            firstName:
              type: string
              description: First name
            lastName:
              type: string
              description: Last name
            email:
              type: string
              description: Email
            phone:
              type: string
              description: Phone
          description: Missing info of the KYC
        message:
          type: string
          description: Message of the KYC
      required:
        - status
    GetWebSdkLinkRequest:
      type: object
      properties:
        userEmail:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: User email address
        levelName:
          type: string
          description: KYC verification level name
        ttlInSecs:
          type: number
          description: Time to live for the link in seconds
        lang:
          type: string
          description: Language code for the KYC interface
      required:
        - userEmail
    GetWebSdkLinkResponse:
      type: object
      properties:
        url:
          type: string
          description: Generated WebSDK verification URL
      required:
        - url
    SaveKYCProfileRequest:
      type: object
      properties:
        userEmail:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: User email. Must match your workspace account onboarding rules.
        firstName:
          type: string
          minLength: 1
        lastName:
          type: string
          minLength: 1
        birthdate:
          type: string
          minLength: 1
          description: ISO 8601
        birthCountry:
          type: string
          enum:
            - AW
            - AF
            - AO
            - AI
            - AX
            - AL
            - AD
            - AE
            - AR
            - AM
            - AS
            - AQ
            - TF
            - AG
            - AU
            - AT
            - AZ
            - BI
            - BE
            - BJ
            - BQ
            - BF
            - BD
            - BG
            - BH
            - BS
            - BA
            - BL
            - BY
            - BZ
            - BM
            - BO
            - BR
            - BB
            - BN
            - BT
            - BV
            - BW
            - CF
            - CA
            - CC
            - CH
            - CL
            - CN
            - CI
            - CM
            - CD
            - CG
            - CK
            - CO
            - KM
            - CV
            - CR
            - CU
            - CW
            - CX
            - KY
            - CY
            - CZ
            - DE
            - DJ
            - DM
            - DK
            - DO
            - DZ
            - EC
            - EG
            - ER
            - EH
            - ES
            - EE
            - ET
            - FI
            - FJ
            - FK
            - FR
            - FO
            - FM
            - GA
            - GB
            - GE
            - GG
            - GH
            - GI
            - GN
            - GP
            - GM
            - GW
            - GQ
            - GR
            - GD
            - GL
            - GT
            - GF
            - GU
            - GY
            - HK
            - HM
            - HN
            - HR
            - HT
            - HU
            - ID
            - IM
            - IN
            - IO
            - IE
            - IR
            - IQ
            - IS
            - IL
            - IT
            - JM
            - JE
            - JO
            - JP
            - KZ
            - KE
            - KG
            - KH
            - KI
            - KN
            - KR
            - KW
            - LA
            - LB
            - LR
            - LY
            - LC
            - LI
            - LK
            - LS
            - LT
            - LU
            - LV
            - MO
            - MF
            - MA
            - MC
            - MD
            - MG
            - MV
            - MX
            - MH
            - MK
            - ML
            - MT
            - MM
            - ME
            - MN
            - MP
            - MZ
            - MR
            - MS
            - MQ
            - MU
            - MW
            - MY
            - YT
            - NA
            - NC
            - NE
            - NF
            - NG
            - NI
            - NU
            - NL
            - 'NO'
            - NP
            - NR
            - NZ
            - OM
            - PK
            - PA
            - PN
            - PE
            - PH
            - PW
            - PG
            - PL
            - PR
            - KP
            - PT
            - PY
            - PS
            - PF
            - QA
            - RE
            - RO
            - RU
            - RW
            - SA
            - SD
            - SN
            - SG
            - GS
            - SH
            - SJ
            - SB
            - SL
            - SV
            - SM
            - SO
            - PM
            - RS
            - SS
            - ST
            - SR
            - SK
            - SI
            - SE
            - SZ
            - SX
            - SC
            - SY
            - TC
            - TD
            - TG
            - TH
            - TJ
            - TK
            - TM
            - TL
            - TO
            - TT
            - TN
            - TR
            - TV
            - TW
            - TZ
            - UG
            - UA
            - UM
            - UY
            - US
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - YE
            - ZA
            - ZM
            - ZW
          description: Country of birth, ISO 3166-1 alpha-2
        gender:
          type: string
          enum:
            - male
            - female
            - N/D
        nationality:
          type: string
          enum:
            - AW
            - AF
            - AO
            - AI
            - AX
            - AL
            - AD
            - AE
            - AR
            - AM
            - AS
            - AQ
            - TF
            - AG
            - AU
            - AT
            - AZ
            - BI
            - BE
            - BJ
            - BQ
            - BF
            - BD
            - BG
            - BH
            - BS
            - BA
            - BL
            - BY
            - BZ
            - BM
            - BO
            - BR
            - BB
            - BN
            - BT
            - BV
            - BW
            - CF
            - CA
            - CC
            - CH
            - CL
            - CN
            - CI
            - CM
            - CD
            - CG
            - CK
            - CO
            - KM
            - CV
            - CR
            - CU
            - CW
            - CX
            - KY
            - CY
            - CZ
            - DE
            - DJ
            - DM
            - DK
            - DO
            - DZ
            - EC
            - EG
            - ER
            - EH
            - ES
            - EE
            - ET
            - FI
            - FJ
            - FK
            - FR
            - FO
            - FM
            - GA
            - GB
            - GE
            - GG
            - GH
            - GI
            - GN
            - GP
            - GM
            - GW
            - GQ
            - GR
            - GD
            - GL
            - GT
            - GF
            - GU
            - GY
            - HK
            - HM
            - HN
            - HR
            - HT
            - HU
            - ID
            - IM
            - IN
            - IO
            - IE
            - IR
            - IQ
            - IS
            - IL
            - IT
            - JM
            - JE
            - JO
            - JP
            - KZ
            - KE
            - KG
            - KH
            - KI
            - KN
            - KR
            - KW
            - LA
            - LB
            - LR
            - LY
            - LC
            - LI
            - LK
            - LS
            - LT
            - LU
            - LV
            - MO
            - MF
            - MA
            - MC
            - MD
            - MG
            - MV
            - MX
            - MH
            - MK
            - ML
            - MT
            - MM
            - ME
            - MN
            - MP
            - MZ
            - MR
            - MS
            - MQ
            - MU
            - MW
            - MY
            - YT
            - NA
            - NC
            - NE
            - NF
            - NG
            - NI
            - NU
            - NL
            - 'NO'
            - NP
            - NR
            - NZ
            - OM
            - PK
            - PA
            - PN
            - PE
            - PH
            - PW
            - PG
            - PL
            - PR
            - KP
            - PT
            - PY
            - PS
            - PF
            - QA
            - RE
            - RO
            - RU
            - RW
            - SA
            - SD
            - SN
            - SG
            - GS
            - SH
            - SJ
            - SB
            - SL
            - SV
            - SM
            - SO
            - PM
            - RS
            - SS
            - ST
            - SR
            - SK
            - SI
            - SE
            - SZ
            - SX
            - SC
            - SY
            - TC
            - TD
            - TG
            - TH
            - TJ
            - TK
            - TM
            - TL
            - TO
            - TT
            - TN
            - TR
            - TV
            - TW
            - TZ
            - UG
            - UA
            - UM
            - UY
            - US
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - YE
            - ZA
            - ZM
            - ZW
          description: ISO 3166-1 alpha-2
        phone:
          type: string
          minLength: 1
          description: E.164, e.g. +447700900123
        employmentStatus:
          type: string
          enum:
            - employed
            - selfEmployed
            - businessOwner
            - unemployed
            - student
            - retired
            - others
        fundsOrigin:
          type: string
          enum:
            - salary
            - incomes
            - investments
            - pensions
            - donations
            - propertiesSell
            - others
        fundsOriginOthersReason:
          type: string
          minLength: 1
        accountPurpose:
          type: string
          enum:
            - savings
            - currencyExchange
            - investment
            - trading
            - cryptocurrencyPayments
        depositEstimation:
          type: object
          properties:
            minimum:
              type: integer
            maximum:
              type: integer
          required:
            - minimum
            - maximum
        profession:
          type: string
          minLength: 1
          description: >-
            The holder's activity sector, as one of the sector codes we publish
            for your workspace — a short numeric code such as `24`, not a job
            title. Free text is still accepted for backward compatibility but is
            NOT recorded: a value that is not a known sector code is treated as
            not declared. If you do not hold a sector code, omit the field and
            the holder chooses their sector while completing verification.
        pepDeclaration:
          type: string
          enum:
            - 'no'
            - 'yes'
            - family
            - related
          description: >-
            The holder's politically-exposed-person self-declaration: `no` (not
            exposed), `yes` (is a politically exposed person), `family` (an
            immediate family member of one) or `related` (a known close
            associate of one). Omit the field when the holder has not answered:
            an omitted declaration is stored as NOT DECLARED and is never
            forwarded as `no`. Never send `no` to mean unanswered. The hosted
            verification page does NOT ask for this field, so supply it here for
            holders who verify through that page; the in-app verification form
            collects it directly.
        taxId:
          type: object
          properties:
            number:
              type: string
              minLength: 1
            country:
              type: string
              enum:
                - AW
                - AF
                - AO
                - AI
                - AX
                - AL
                - AD
                - AE
                - AR
                - AM
                - AS
                - AQ
                - TF
                - AG
                - AU
                - AT
                - AZ
                - BI
                - BE
                - BJ
                - BQ
                - BF
                - BD
                - BG
                - BH
                - BS
                - BA
                - BL
                - BY
                - BZ
                - BM
                - BO
                - BR
                - BB
                - BN
                - BT
                - BV
                - BW
                - CF
                - CA
                - CC
                - CH
                - CL
                - CN
                - CI
                - CM
                - CD
                - CG
                - CK
                - CO
                - KM
                - CV
                - CR
                - CU
                - CW
                - CX
                - KY
                - CY
                - CZ
                - DE
                - DJ
                - DM
                - DK
                - DO
                - DZ
                - EC
                - EG
                - ER
                - EH
                - ES
                - EE
                - ET
                - FI
                - FJ
                - FK
                - FR
                - FO
                - FM
                - GA
                - GB
                - GE
                - GG
                - GH
                - GI
                - GN
                - GP
                - GM
                - GW
                - GQ
                - GR
                - GD
                - GL
                - GT
                - GF
                - GU
                - GY
                - HK
                - HM
                - HN
                - HR
                - HT
                - HU
                - ID
                - IM
                - IN
                - IO
                - IE
                - IR
                - IQ
                - IS
                - IL
                - IT
                - JM
                - JE
                - JO
                - JP
                - KZ
                - KE
                - KG
                - KH
                - KI
                - KN
                - KR
                - KW
                - LA
                - LB
                - LR
                - LY
                - LC
                - LI
                - LK
                - LS
                - LT
                - LU
                - LV
                - MO
                - MF
                - MA
                - MC
                - MD
                - MG
                - MV
                - MX
                - MH
                - MK
                - ML
                - MT
                - MM
                - ME
                - MN
                - MP
                - MZ
                - MR
                - MS
                - MQ
                - MU
                - MW
                - MY
                - YT
                - NA
                - NC
                - NE
                - NF
                - NG
                - NI
                - NU
                - NL
                - 'NO'
                - NP
                - NR
                - NZ
                - OM
                - PK
                - PA
                - PN
                - PE
                - PH
                - PW
                - PG
                - PL
                - PR
                - KP
                - PT
                - PY
                - PS
                - PF
                - QA
                - RE
                - RO
                - RU
                - RW
                - SA
                - SD
                - SN
                - SG
                - GS
                - SH
                - SJ
                - SB
                - SL
                - SV
                - SM
                - SO
                - PM
                - RS
                - SS
                - ST
                - SR
                - SK
                - SI
                - SE
                - SZ
                - SX
                - SC
                - SY
                - TC
                - TD
                - TG
                - TH
                - TJ
                - TK
                - TM
                - TL
                - TO
                - TT
                - TN
                - TR
                - TV
                - TW
                - TZ
                - UG
                - UA
                - UM
                - UY
                - US
                - UZ
                - VA
                - VC
                - VE
                - VG
                - VI
                - VN
                - VU
                - WF
                - WS
                - YE
                - ZA
                - ZM
                - ZW
              description: Issuing country, ISO 3166-1 alpha-2
          required:
            - number
            - country
        document:
          type: object
          properties:
            type:
              type: string
              enum:
                - idcard
                - passport
                - drivinglicense
                - visa
            id:
              type: string
              minLength: 1
              description: Document number/identifier
            expiryDate:
              type: string
              minLength: 1
              description: ISO 8601
            issuingCountry:
              type: string
              enum:
                - AW
                - AF
                - AO
                - AI
                - AX
                - AL
                - AD
                - AE
                - AR
                - AM
                - AS
                - AQ
                - TF
                - AG
                - AU
                - AT
                - AZ
                - BI
                - BE
                - BJ
                - BQ
                - BF
                - BD
                - BG
                - BH
                - BS
                - BA
                - BL
                - BY
                - BZ
                - BM
                - BO
                - BR
                - BB
                - BN
                - BT
                - BV
                - BW
                - CF
                - CA
                - CC
                - CH
                - CL
                - CN
                - CI
                - CM
                - CD
                - CG
                - CK
                - CO
                - KM
                - CV
                - CR
                - CU
                - CW
                - CX
                - KY
                - CY
                - CZ
                - DE
                - DJ
                - DM
                - DK
                - DO
                - DZ
                - EC
                - EG
                - ER
                - EH
                - ES
                - EE
                - ET
                - FI
                - FJ
                - FK
                - FR
                - FO
                - FM
                - GA
                - GB
                - GE
                - GG
                - GH
                - GI
                - GN
                - GP
                - GM
                - GW
                - GQ
                - GR
                - GD
                - GL
                - GT
                - GF
                - GU
                - GY
                - HK
                - HM
                - HN
                - HR
                - HT
                - HU
                - ID
                - IM
                - IN
                - IO
                - IE
                - IR
                - IQ
                - IS
                - IL
                - IT
                - JM
                - JE
                - JO
                - JP
                - KZ
                - KE
                - KG
                - KH
                - KI
                - KN
                - KR
                - KW
                - LA
                - LB
                - LR
                - LY
                - LC
                - LI
                - LK
                - LS
                - LT
                - LU
                - LV
                - MO
                - MF
                - MA
                - MC
                - MD
                - MG
                - MV
                - MX
                - MH
                - MK
                - ML
                - MT
                - MM
                - ME
                - MN
                - MP
                - MZ
                - MR
                - MS
                - MQ
                - MU
                - MW
                - MY
                - YT
                - NA
                - NC
                - NE
                - NF
                - NG
                - NI
                - NU
                - NL
                - 'NO'
                - NP
                - NR
                - NZ
                - OM
                - PK
                - PA
                - PN
                - PE
                - PH
                - PW
                - PG
                - PL
                - PR
                - KP
                - PT
                - PY
                - PS
                - PF
                - QA
                - RE
                - RO
                - RU
                - RW
                - SA
                - SD
                - SN
                - SG
                - GS
                - SH
                - SJ
                - SB
                - SL
                - SV
                - SM
                - SO
                - PM
                - RS
                - SS
                - ST
                - SR
                - SK
                - SI
                - SE
                - SZ
                - SX
                - SC
                - SY
                - TC
                - TD
                - TG
                - TH
                - TJ
                - TK
                - TM
                - TL
                - TO
                - TT
                - TN
                - TR
                - TV
                - TW
                - TZ
                - UG
                - UA
                - UM
                - UY
                - US
                - UZ
                - VA
                - VC
                - VE
                - VG
                - VI
                - VN
                - VU
                - WF
                - WS
                - YE
                - ZA
                - ZM
                - ZW
              description: Issuing country, ISO 3166-1 alpha-2
        occupations:
          type: array
          items:
            type: string
            minLength: 1
        addresses:
          type: array
          items:
            type: object
            properties:
              street:
                type: string
                minLength: 1
              city:
                type: string
                minLength: 1
              state:
                type: string
                minLength: 1
              country:
                type: string
                enum:
                  - AW
                  - AF
                  - AO
                  - AI
                  - AX
                  - AL
                  - AD
                  - AE
                  - AR
                  - AM
                  - AS
                  - AQ
                  - TF
                  - AG
                  - AU
                  - AT
                  - AZ
                  - BI
                  - BE
                  - BJ
                  - BQ
                  - BF
                  - BD
                  - BG
                  - BH
                  - BS
                  - BA
                  - BL
                  - BY
                  - BZ
                  - BM
                  - BO
                  - BR
                  - BB
                  - BN
                  - BT
                  - BV
                  - BW
                  - CF
                  - CA
                  - CC
                  - CH
                  - CL
                  - CN
                  - CI
                  - CM
                  - CD
                  - CG
                  - CK
                  - CO
                  - KM
                  - CV
                  - CR
                  - CU
                  - CW
                  - CX
                  - KY
                  - CY
                  - CZ
                  - DE
                  - DJ
                  - DM
                  - DK
                  - DO
                  - DZ
                  - EC
                  - EG
                  - ER
                  - EH
                  - ES
                  - EE
                  - ET
                  - FI
                  - FJ
                  - FK
                  - FR
                  - FO
                  - FM
                  - GA
                  - GB
                  - GE
                  - GG
                  - GH
                  - GI
                  - GN
                  - GP
                  - GM
                  - GW
                  - GQ
                  - GR
                  - GD
                  - GL
                  - GT
                  - GF
                  - GU
                  - GY
                  - HK
                  - HM
                  - HN
                  - HR
                  - HT
                  - HU
                  - ID
                  - IM
                  - IN
                  - IO
                  - IE
                  - IR
                  - IQ
                  - IS
                  - IL
                  - IT
                  - JM
                  - JE
                  - JO
                  - JP
                  - KZ
                  - KE
                  - KG
                  - KH
                  - KI
                  - KN
                  - KR
                  - KW
                  - LA
                  - LB
                  - LR
                  - LY
                  - LC
                  - LI
                  - LK
                  - LS
                  - LT
                  - LU
                  - LV
                  - MO
                  - MF
                  - MA
                  - MC
                  - MD
                  - MG
                  - MV
                  - MX
                  - MH
                  - MK
                  - ML
                  - MT
                  - MM
                  - ME
                  - MN
                  - MP
                  - MZ
                  - MR
                  - MS
                  - MQ
                  - MU
                  - MW
                  - MY
                  - YT
                  - NA
                  - NC
                  - NE
                  - NF
                  - NG
                  - NI
                  - NU
                  - NL
                  - 'NO'
                  - NP
                  - NR
                  - NZ
                  - OM
                  - PK
                  - PA
                  - PN
                  - PE
                  - PH
                  - PW
                  - PG
                  - PL
                  - PR
                  - KP
                  - PT
                  - PY
                  - PS
                  - PF
                  - QA
                  - RE
                  - RO
                  - RU
                  - RW
                  - SA
                  - SD
                  - SN
                  - SG
                  - GS
                  - SH
                  - SJ
                  - SB
                  - SL
                  - SV
                  - SM
                  - SO
                  - PM
                  - RS
                  - SS
                  - ST
                  - SR
                  - SK
                  - SI
                  - SE
                  - SZ
                  - SX
                  - SC
                  - SY
                  - TC
                  - TD
                  - TG
                  - TH
                  - TJ
                  - TK
                  - TM
                  - TL
                  - TO
                  - TT
                  - TN
                  - TR
                  - TV
                  - TW
                  - TZ
                  - UG
                  - UA
                  - UM
                  - UY
                  - US
                  - UZ
                  - VA
                  - VC
                  - VE
                  - VG
                  - VI
                  - VN
                  - VU
                  - WF
                  - WS
                  - YE
                  - ZA
                  - ZM
                  - ZW
                description: ISO 3166-1 alpha-2
              zip:
                type: string
                minLength: 1
              locality:
                type: string
                minLength: 1
      required:
        - userEmail
      description: >-
        Request body for pre-supplying KYC data so the hosted form only asks for
        what is still missing. Send `userEmail` plus any subset of the
        provider-neutral KYC fields (name, birthdate, nationality, phone,
        employmentStatus, fundsOrigin, document, addresses, …) at the root;
        supplied fields are stored and skipped when the user later completes the
        hosted KYC form.
      example:
        userEmail: maria@example.com
        firstName: María
        lastName: González
        phone: '+447700900123'
        birthdate: '1990-01-31'
        birthCountry: ES
        nationality: ES
        employmentStatus: employed
        profession: '24'
        fundsOrigin: salary
        accountPurpose: currencyExchange
        depositEstimation:
          minimum: 0
          maximum: 10000
        addresses:
          - street: Calle Mayor 1
            city: Madrid
            state: Madrid
            zip: '28001'
            country: ES
    SaveKYCProfileResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the profile data was stored successfully.
        providedFields:
          type: array
          items:
            type: string
          description: Required profile fields now present after this call.
        missingFields:
          type: array
          items:
            type: string
          description: >-
            Required profile fields the user must still complete in the hosted
            KYC form.
      required:
        - success
        - providedFields
        - missingFields
      description: >-
        Response from POST /v1/kyc/profile: which required fields are now
        present and which are still missing.
    GetOpenBankingStatusRequest:
      type: object
      properties:
        orderId:
          type: string
          description: >-
            Order id or deposit id (query/path; same identifier used when
            creating the Web Form)
      required:
        - orderId
    GetOpenBankingStatusResponse:
      type: object
      properties:
        success:
          type: boolean
        orderId:
          type: string
          description: Order id or deposit id (field name is historical)
        openbanking:
          type: object
          properties:
            webFormId:
              type: string
            url:
              type: string
            status:
              type: string
            requestedAmount:
              type: number
            currency:
              type: string
            expiresAt:
              type: string
            lastUpdated:
              type: string
            webhookReceived:
              type: boolean
            lastWebhook:
              type: object
              nullable: true
              properties:
                timestamp:
                  type: string
                status:
                  type: string
                webFormId:
                  type: string
              required:
                - timestamp
                - status
                - webFormId
          required:
            - webFormId
            - url
            - status
            - requestedAmount
            - currency
            - expiresAt
            - lastUpdated
            - webhookReceived
            - lastWebhook
        metadata:
          type: object
          properties:
            createdAt:
              type: string
              description: When the open-banking session record was created
            lastStatusCheck:
              type: string
              description: Timestamp of the last status refresh
            callbackCount:
              type: number
              description: Number of callbacks recorded for this session
          required:
            - createdAt
            - lastStatusCheck
            - callbackCount
        note:
          type: string
      required:
        - success
        - orderId
        - note
    DepositHold:
      type: object
      properties:
        holdId:
          type: string
          description: Deposit hold id.
          example: dhold_3f1c9a7be2d84c01a5f6e9b2
        accountId:
          type: string
          description: Account the deposit belongs to.
        depositId:
          type: string
          nullable: true
          description: >-
            The deposit the funds were credited to once released; `null` until
            then.
        reason:
          type: string
          enum:
            - travel_rule_origin
          description: Why the deposit is held.
        status:
          type: string
          enum:
            - declaration_required
            - declaring
            - declared
            - released
          description: >-
            `declaration_required`: the deposit is held until you declare who
            sent it. `declaring`: a declaration is being filed; retry the same
            answer later if the call did not complete. `declared`: the
            declaration was filed; the deposit is credited as usual once
            released. `released`: the deposit is no longer held and no
            declaration from you is needed.
        amount:
          type: string
          description: Amount received, as a decimal string.
          example: '10.00000000'
        currency:
          type: string
          description: Currency received.
          example: USDC
        network:
          type: string
          description: Network the deposit arrived on.
          example: BASE
        heldAt:
          type: string
          nullable: true
          description: When the deposit was received (ISO 8601), if known.
        createdAt:
          type: string
          description: When the hold was recorded (ISO 8601).
        deadline:
          nullable: true
          description: >-
            Reserved: the time after which the deposit may be returned. Not
            currently provided.
        declaration:
          type: object
          nullable: true
          properties:
            ownership:
              type: string
              enum:
                - own
                - third_party
            thirdParty:
              type: object
              nullable: true
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: First name of the person who sent the funds.
                  example: Daniel
                surname:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: Surname(s) of the person who sent the funds.
                  example: García
              required:
                - name
                - surname
              additionalProperties: false
            declaredBy:
              type: string
              enum:
                - holder
                - workspace
                - ops
                - remembered
              description: >-
                Who answered: the account holder, your workspace, our operations
                team on the holder’s behalf, or `remembered` — filed
                automatically because an earlier answer covered the same sending
                wallet for this account.
            declaredAt:
              type: string
              description: ISO 8601.
          required:
            - ownership
            - thirdParty
            - declaredBy
            - declaredAt
          description: The declaration filed, once there is one.
      required:
        - holdId
        - accountId
        - depositId
        - reason
        - status
        - amount
        - currency
        - network
        - heldAt
        - createdAt
        - deadline
        - declaration
      additionalProperties: false
      description: An inbound deposit that is held until its origin is declared.
    DepositHoldList:
      type: object
      properties:
        holds:
          type: array
          items:
            type: object
            properties:
              holdId:
                type: string
                description: Deposit hold id.
                example: dhold_3f1c9a7be2d84c01a5f6e9b2
              accountId:
                type: string
                description: Account the deposit belongs to.
              depositId:
                type: string
                nullable: true
                description: >-
                  The deposit the funds were credited to once released; `null`
                  until then.
              reason:
                type: string
                enum:
                  - travel_rule_origin
                description: Why the deposit is held.
              status:
                type: string
                enum:
                  - declaration_required
                  - declaring
                  - declared
                  - released
                description: >-
                  `declaration_required`: the deposit is held until you declare
                  who sent it. `declaring`: a declaration is being filed; retry
                  the same answer later if the call did not complete.
                  `declared`: the declaration was filed; the deposit is credited
                  as usual once released. `released`: the deposit is no longer
                  held and no declaration from you is needed.
              amount:
                type: string
                description: Amount received, as a decimal string.
                example: '10.00000000'
              currency:
                type: string
                description: Currency received.
                example: USDC
              network:
                type: string
                description: Network the deposit arrived on.
                example: BASE
              heldAt:
                type: string
                nullable: true
                description: When the deposit was received (ISO 8601), if known.
              createdAt:
                type: string
                description: When the hold was recorded (ISO 8601).
              deadline:
                nullable: true
                description: >-
                  Reserved: the time after which the deposit may be returned.
                  Not currently provided.
              declaration:
                type: object
                nullable: true
                properties:
                  ownership:
                    type: string
                    enum:
                      - own
                      - third_party
                  thirdParty:
                    type: object
                    nullable: true
                    properties:
                      name:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: First name of the person who sent the funds.
                        example: Daniel
                      surname:
                        type: string
                        minLength: 1
                        maxLength: 100
                        description: Surname(s) of the person who sent the funds.
                        example: García
                    required:
                      - name
                      - surname
                    additionalProperties: false
                  declaredBy:
                    type: string
                    enum:
                      - holder
                      - workspace
                      - ops
                      - remembered
                    description: >-
                      Who answered: the account holder, your workspace, our
                      operations team on the holder’s behalf, or `remembered` —
                      filed automatically because an earlier answer covered the
                      same sending wallet for this account.
                  declaredAt:
                    type: string
                    description: ISO 8601.
                required:
                  - ownership
                  - thirdParty
                  - declaredBy
                  - declaredAt
                description: The declaration filed, once there is one.
            required:
              - holdId
              - accountId
              - depositId
              - reason
              - status
              - amount
              - currency
              - network
              - heldAt
              - createdAt
              - deadline
              - declaration
            additionalProperties: false
            description: An inbound deposit that is held until its origin is declared.
      required:
        - holds
      additionalProperties: false
      description: Deposit holds of your workspace (at most 100).
    DeclareDepositOriginBody:
      oneOf:
        - type: object
          properties:
            ownership:
              type: string
              enum:
                - own
              description: The sending wallet belongs to the account holder.
          required:
            - ownership
          additionalProperties: false
        - type: object
          properties:
            ownership:
              type: string
              enum:
                - third_party
              description: The funds were sent by someone else.
            thirdParty:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: First name of the person who sent the funds.
                  example: Daniel
                surname:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: Surname(s) of the person who sent the funds.
                  example: García
                address:
                  type: object
                  properties:
                    street:
                      type: string
                      minLength: 1
                      maxLength: 200
                      description: Street and number of the sender’s address.
                      example: Calle Mayor 1
                    city:
                      type: string
                      minLength: 1
                      maxLength: 200
                      description: City of the sender’s address.
                      example: Madrid
                    zip:
                      type: string
                      minLength: 1
                      maxLength: 200
                      description: Postal code of the sender’s address.
                      example: '28013'
                    countryCode:
                      type: string
                      pattern: ^[A-Z]{2}$
                      description: >-
                        Country of the sender’s address (ISO 3166-1 alpha-2,
                        e.g. `ES`).
                      example: ES
                  required:
                    - street
                    - city
                    - zip
                    - countryCode
                  additionalProperties: false
                  description: Postal address of the person who sent the funds.
              required:
                - name
                - surname
                - address
              additionalProperties: false
          required:
            - ownership
            - thirdParty
          additionalProperties: false
      description: Who owns the wallet the deposit came from (Travel Rule origin).
      example:
        ownership: own
    ExternalMockKycRequest:
      type: object
      properties:
        email:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: Email address
        firstName:
          type: string
        lastName:
          type: string
        country:
          type: string
          minLength: 2
          maxLength: 2
      required:
        - email
      additionalProperties: false
    ExternalMockKybRequest:
      type: object
      properties:
        email:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: Email address
        countryOfIncorporation:
          type: string
          minLength: 2
          maxLength: 2
      required:
        - email
      additionalProperties: false
    ExternalPayoutRailNameVerificationRequest:
      type: object
      properties:
        accountIdentifier:
          type: string
          minLength: 1
          description: >-
            IBAN or account number of the beneficiary the outcome applies to.
            Omit to set the default outcome for every beneficiary without a
            specific one.
        result:
          type: string
          enum:
            - MATCH
            - CLOSE_MATCH
            - NO_MATCH
            - PROVIDER_ERROR
          description: >-
            Outcome the simulated rail returns: `MATCH` clears the payout,
            `CLOSE_MATCH` and `NO_MATCH` hold it for review, `PROVIDER_ERROR`
            makes the check unavailable
      required:
        - result
      additionalProperties: false
    ExternalPayoutRailPaymentNoticeRequest:
      type: object
      properties:
        status:
          type: string
          enum:
            - CREATED
            - COMPLIANCE_REVIEW
            - MEMBER_REVIEW
            - PROCESSING
            - COMPLETED
            - RETURNED
            - REJECTED
            - FAILED
          description: >-
            Payout status the notice announces. A terminal status cannot be
            changed afterwards; repeating the current status re-emits the same
            notice.
      required:
        - status
      additionalProperties: false
    ListPendingPaymentsRequest:
      type: object
      properties:
        currency:
          type: string
          description: Optional currency code to filter the items
          example: EUR
        minAmount:
          type: number
          minimum: 0
        maxAmount:
          type: number
          minimum: 0
        from:
          type: integer
          minimum: 0
        to:
          type: integer
          minimum: 0
        userEmail:
          type: string
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          example: user@example.com
        search:
          type: string
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
        limit:
          type: number
          minimum: 0
        page:
          type: number
          minimum: 0
        name:
          type: string
          description: Filter by counterparty name (case-insensitive partial match)
          example: John Doe
        reference:
          type: string
          description: Filter by reference or ID (partial match)
          example: REF123
        iban:
          type: string
          description: Filter by IBAN (case-insensitive partial match)
          example: ES9121000418450200051332
        ibanCountry:
          type: string
          description: Filter by IBAN country code (e.g., ES, DE)
          example: ES
        amount:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: Filter by exact amount
          example: 1000
        readyToLinkOnly:
          anyOf:
            - type: boolean
            - type: string
          description: >-
            If true, only unlinked transfers with readyToLinkAt set (queue ready
            for linking).
        typeFilter:
          type: string
          enum:
            - compliance
            - source_of_funds
            - prelink
            - screening
            - monitoring
            - normal
            - ''
          description: >-
            Filter by transfer type: screening (identity hold), monitoring
            (fiat/crypto), source_of_funds, normal (no compliance hold),
            prelink, or compliance (screening+monitoring combined).
        accountId:
          type: string
          description: >-
            Optional account id (email) within the calling workspace. When
            provided, the proposedByMe / sofUploadedByMe /
            screening.submittedByMe flags are computed relative to that account.
            Ignored on the authenticated app API, which uses the signed-in
            account.
          example: ops@example.com
      additionalProperties: false
    ListPendingPaymentsResponse:
      type: object
      properties:
        transfers:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: >-
                  Transfer identifier — use this to call /link, /create-deposit,
                  or /create-order
              amount:
                type: number
                description: Amount received
              currency:
                type: string
                description: Currency (ISO 4217, e.g. EUR)
              date:
                type: string
                description: Date the payment was received (ISO 8601)
              timestamp:
                type: number
                description: >-
                  Transfer date as epoch milliseconds — use this for
                  sorting/display; the `date` string is locale-formatted and
                  must not be re-parsed
              reference:
                type: string
                nullable: true
                description: Payment reference text provided by the sender
              counterparty:
                type: object
                properties:
                  name:
                    type: string
                    description: Sender name
                  iban:
                    type: string
                    description: Sender IBAN
                description: Basic sender information
              complianceHoldReason:
                type: string
                nullable: true
                enum:
                  - source_of_funds
                  - screening
                  - fiat_monitoring
                  - crypto_monitoring
              complianceDocuments:
                type: array
                items:
                  type: object
                  properties:
                    path:
                      type: string
                    fileName:
                      type: string
                    uploadedBy:
                      type: string
                    uploadedByKind:
                      type: string
                      enum:
                        - operator
                        - workspace
                    uploadedAt:
                      type: number
                    comment:
                      type: string
                  required:
                    - path
              paymentMethod:
                type: object
                nullable: true
                properties:
                  amountLimit:
                    type: number
                  amountLimitCurrency:
                    type: string
                  amountProcessed:
                    type: number
                  isBlocked:
                    type: boolean
              attemptedLinks:
                type: array
                items:
                  type: object
                  properties:
                    entityId:
                      type: string
                    entityType:
                      type: string
                      enum:
                        - order
                        - deposit
                    attemptedAt:
                      type: number
                    reason:
                      type: string
                    errorId:
                      type: string
                  required:
                    - entityId
                    - entityType
                    - attemptedAt
                    - reason
              reviewReason:
                type: string
                nullable: true
              senderEnrichmentSubmitted:
                type: boolean
              refundStatus:
                type: string
                enum:
                  - pending_approval
                  - returning
                  - returned
                  - failed
                description: >-
                  Refund state of this payment. Only present while a refund is
                  in play — a payment with no refund in progress carries no such
                  field. `pending_approval`: a refund has been requested and the
                  amount is held; nothing has been sent to the payer.
                  `returning`: the return has been submitted and is awaiting
                  confirmation — intent, not proof, so do not treat the payer as
                  repaid. `returned`: confirmed, the payer has the money back;
                  final. `failed`: the return was rejected and the payment stays
                  held; final. Only `returned` proves the money reached the
                  payer. While this field is present the payment cannot be
                  linked to an order or a deposit.
              preLinked:
                type: object
                nullable: true
                properties:
                  type:
                    type: string
                    enum:
                      - order
                      - deposit
                  id:
                    type: string
                  confidence:
                    type: number
                  note:
                    type: string
                  timestamp:
                    type: number
                  reasonCode:
                    type: string
                    enum:
                      - joint_account
                      - wrong_name_on_payment
                      - wrong_name_on_order_or_deposit
                  isProposal:
                    type: boolean
                  proposedBy:
                    type: string
                  proposedByMe:
                    type: boolean
                  hasDocuments:
                    type: boolean
                required:
                  - type
                  - id
                  - confidence
                  - isProposal
                  - proposedByMe
                  - hasDocuments
              sofUploadedByMe:
                type: boolean
              sofLastUploadedAt:
                type: number
              screening:
                type: object
                nullable: true
                properties:
                  submitted:
                    type: boolean
                  submittedBy:
                    type: string
                  submittedByMe:
                    type: boolean
                  submittedAt:
                    type: number
                required:
                  - submitted
                  - submittedByMe
            required:
              - id
              - amount
              - currency
        total:
          type: number
          description: Total count of pending transfers
        page:
          type: number
        limit:
          type: number
      required:
        - transfers
    PendingPaymentTransfer:
      type: object
      properties:
        id:
          type: string
          description: >-
            Transfer identifier — use this to call /link, /create-deposit, or
            /create-order
        amount:
          type: number
          description: Amount received
        currency:
          type: string
          description: Currency (ISO 4217, e.g. EUR)
        date:
          type: string
          description: Date the payment was received (ISO 8601)
        timestamp:
          type: number
          description: >-
            Transfer date as epoch milliseconds — use this for sorting/display;
            the `date` string is locale-formatted and must not be re-parsed
        reference:
          type: string
          nullable: true
          description: Payment reference text provided by the sender
        counterparty:
          type: object
          properties:
            name:
              type: string
              description: Sender name
            iban:
              type: string
              description: Sender IBAN
          description: Basic sender information
      required:
        - id
        - amount
        - currency
    CreateDepositFromTransferRequest:
      allOf:
        - allOf:
            - type: object
              properties:
                externalReference:
                  type: string
                  minLength: 1
                  maxLength: 128
                  description: >-
                    Your own reference for this deposit. Stored as-is and
                    returned on create, detail and list, so you can look the
                    deposit up by it after a network timeout instead of retrying
                    blind. Not interpreted by VirtuaBroker and not shown to the
                    payer — for the payer's transfer reference use
                    depositInfo.referenceCode.
                  examples:
                    - partner-ref-0001
                    - inv_2026_00417
                userData:
                  oneOf:
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        lastName:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: >-
                            Last name of the user making the deposit (or
                            representative for business)
                          examples:
                            - Doe
                            - Smith
                            - Johnson
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - firstName
                        - userEmail
                        - country
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - business
                        businessName:
                          type: string
                          maxLength: 150
                          description: Business name (required when userType is business)
                          examples:
                            - Acme Corp
                            - Tech Solutions Inc
                            - Global Services Ltd
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - businessName
                        - firstName
                        - userEmail
                        - country
                  description: User data of the person/company making the deposit
                userDataId:
                  type: string
                  description: Account ID of the person/company making the deposit
                  examples:
                    - d290f1ee-6c54-4b01-90e6-d701748f0851
                originCountry:
                  type: string
                  minLength: 2
                  maxLength: 2
                  description: >-
                    Collection country (ISO-3166 alpha-2) for a multi-country
                    payin currency (CFA zones). Must be a valid collection
                    country for the currency; omitted ⇒ the default collection
                    country is used.
                  examples:
                    - CI
                    - SN
                    - CM
                originNetworkId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  description: >-
                    Collection network the payer will pay from, for a
                    mobile-money payin corridor. Must be one of the ids returned
                    by GET
                    /v1/currencies/{currency}/networks?rail={rail}&rampType=deposit
                    — passing the same rail, and the same country where the
                    currency is collected across several — not free text.
                    Required only where the corridor offers more than one
                    network; a single-network corridor resolves it automatically
                    and needs no value.
                  examples:
                    - 3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f
            - anyOf:
                - type: object
                  properties:
                    amount:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: Amount to be deposited
                      examples:
                        - 100
                        - 1000
                        - 5000
                        - 10000
                    currency:
                      type: string
                      enum:
                        - USDC
                        - USDT
                        - CUSD
                        - BTC
                        - ETH
                        - POL
                        - SOL
                        - TRX
                        - AVAX
                        - XRP
                        - BNB
                      description: Currency of the deposit
                      examples:
                        - USDC
                        - CUSD
                        - ETH
                    rail:
                      anyOf:
                        - type: string
                          enum:
                            - BTC
                            - ETH
                            - MATIC
                            - CELO
                            - SOLANA
                            - TRON
                            - BSC
                            - XRP
                            - ARBITRUM
                            - OPTIMISM
                            - AVALANCHE
                            - BASE
                            - CARDANO
                        - type: string
                          enum:
                            - BALANCE
                  required:
                    - amount
                    - currency
                    - rail
                - type: object
                  properties:
                    amount:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: Amount to be deposited
                      examples:
                        - 100
                        - 1000
                        - 5000
                        - 10000
                    currency:
                      type: string
                      enum:
                        - EUR
                        - USD
                        - GBP
                        - BRL
                        - MXN
                        - ARS
                        - COP
                        - PEN
                        - NGN
                        - KES
                        - TZS
                        - UGX
                        - RWF
                        - MWK
                        - ZMW
                        - XOF
                        - XAF
                        - BWP
                      description: Currency of the deposit
                      examples:
                        - EUR
                        - BRL
                    rail:
                      type: string
                      enum:
                        - BALANCE
                        - SEPA
                        - BTC
                        - ETH
                        - MATIC
                        - POLYGON
                        - CELO
                        - TRON
                        - SOLANA
                        - ARBITRUM
                        - OPTIMISM
                        - AVALANCHE
                        - BSC
                        - BASE
                        - XRP
                        - PIX_BR
                        - UPI
                        - IMPS
                        - TRY_BANK_TRANSFER
                        - AED_BANK_TRANSFER
                        - SPEI
                        - IDR_BANK_TRANSFER
                        - CREDIT_CARD
                        - THAI_QR
                        - VIET_QR
                        - GCASH
                        - ARGENTINA_BANK_TRANSFER
                        - PSE
                        - CLABE
                        - PIX
                        - BANK_DEPOSIT_COL
                        - BANK_DEPOSIT_AR
                        - BANK_DEPOSIT_CL
                        - BANK_DEPOSIT_PE
                        - BANK_DEPOSIT_BO
                        - BANK_DEPOSIT_BR
                        - BANK_DEPOSIT_NG
                        - BANK_DEPOSIT_KE
                        - BANK_DEPOSIT_GH
                        - BANK_DEPOSIT_ZA
                        - BANK_DEPOSIT_TZ
                        - BANK_DEPOSIT_UG
                        - BANK_DEPOSIT_RW
                        - BANK_DEPOSIT_MW
                        - BANK_DEPOSIT_ZM
                        - BANK_DEPOSIT_BW
                        - BANK_DEPOSIT_CD
                        - BANK_DEPOSIT_XOF
                        - BANK_DEPOSIT_XAF
                        - MOBILE_MONEY_NG
                        - MOBILE_MONEY_KE
                        - MOBILE_MONEY_GH
                        - MOBILE_MONEY_ZA
                        - MOBILE_MONEY_TZ
                        - MOBILE_MONEY_UG
                        - MOBILE_MONEY_RW
                        - MOBILE_MONEY_MW
                        - MOBILE_MONEY_ZM
                        - MOBILE_MONEY_BW
                        - MOBILE_MONEY_CD
                        - MOBILE_MONEY_XOF
                        - MOBILE_MONEY_XAF
                        - ACH_US
                        - GBP_BANK_TRANSFER
                      description: Rail for the deposit for fiat deposits
                      examples:
                        - SEPA
                        - MATIC
                  required:
                    - currency
          description: >-
            Request schema for creating a deposit. Must provide either userData
            or userDataId.
        - type: object
          properties:
            transferId:
              type: string
              description: Transfer ID without provider prefix (from path parameter)
              example: '12345'
          required:
            - transferId
    CreateOrderFromTransferRequest:
      allOf:
        - type: object
          properties:
            quoteId:
              type: string
              format: uuid
              description: The unique identifier of the created quote
              examples:
                - 123e4567-e89b-12d3-a456-426614174000
                - 987f6543-a21c-45d6-b789-012345678901
            accountId:
              type: string
              minLength: 1
              description: >-
                Execute the order on behalf of this managed customer (the
                customerId from /v1/banking/customers). The customer becomes the
                order origin — the party whose balance/identity the movement
                belongs to. Must belong to your workspace; a foreign or unknown
                id is rejected.
              examples:
                - jane.doe@example.com
            destination:
              type: object
              properties:
                contactId:
                  type: string
                  minLength: 1
                  description: >-
                    A saved contact of the on-behalf-of customer — the party
                    receiving the funds.
                contactEmail:
                  type: string
                  minLength: 1
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: >-
                    Email identifying the receiving party (alternative to
                    contactId).
                addressId:
                  type: string
                  minLength: 1
                  description: >-
                    A saved destination method (payout address) of the
                    on-behalf-of customer; its transfer details become the
                    payout destination.
              additionalProperties: false
              description: >-
                Structured destination for on-behalf-of orders: pay out to a
                managed contact and/or one of the customer saved payout
                addresses. Requires accountId.
            originCountry:
              type: string
              minLength: 2
              maxLength: 2
              description: >-
                Collection country (ISO-3166 alpha-2) for a multi-country payin
                currency (CFA zones). Must be a valid collection country for the
                origin currency; omitted ⇒ the default collection country is
                used.
              examples:
                - CI
                - SN
                - CM
            userData:
              oneOf:
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - individual
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    lastName:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: >-
                        Last name of the user making the deposit (or
                        representative for business)
                      examples:
                        - Doe
                        - Smith
                        - Johnson
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - firstName
                    - userEmail
                    - country
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - business
                    businessName:
                      type: string
                      maxLength: 150
                      description: Business name (required when userType is business)
                      examples:
                        - Acme Corp
                        - Tech Solutions Inc
                        - Global Services Ltd
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - businessName
                    - firstName
                    - userEmail
                    - country
              description: >-
                Required when the quote origin is not BALANCE (payer). If the
                payer email is new, include address, city, postalCode, state,
                country, firstName, lastName, taxId, kycId for deposit
                provisioning.
            destinationUserData:
              oneOf:
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - individual
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    lastName:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: >-
                        Last name of the user making the deposit (or
                        representative for business)
                      examples:
                        - Doe
                        - Smith
                        - Johnson
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - firstName
                    - userEmail
                    - country
                - type: object
                  properties:
                    userType:
                      type: string
                      enum:
                        - business
                    businessName:
                      type: string
                      maxLength: 150
                      description: Business name (required when userType is business)
                      examples:
                        - Acme Corp
                        - Tech Solutions Inc
                        - Global Services Ltd
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: >-
                        First name of the user making the deposit (or
                        representative for business)
                      examples:
                        - John
                        - Alice
                        - Bob
                    userEmail:
                      type: string
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the deposit
                      examples:
                        - user@virtuabroker.com
                        - john.doe@example.com
                        - alice@example.com
                    address:
                      type: string
                      maxLength: 150
                      description: Address of the user making the deposit
                      examples:
                        - 123 Main St, Anytown, ES
                        - 456 Elm St, Anytown, ES
                        - 789 Oak St, Anytown, ES
                    taxDocumentType:
                      type: string
                      maxLength: 50
                      description: >-
                        Tax document type of the user making the deposit. Common
                        values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any
                        string is accepted.
                      examples:
                        - CC
                        - NIT
                        - CE
                        - NIF
                        - Other
                    taxId:
                      type: string
                      maxLength: 30
                      description: Tax ID of the user making the deposit
                      examples:
                        - 123-45-6789
                        - 987-65-4321
                        - 111-22-3333
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country code of the user making the deposit
                      examples:
                        - ES
                        - US
                        - GB
                    state:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: State of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Postal code of the user making the deposit
                      examples:
                        - '12345'
                        - '67890'
                        - abcde
                    city:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: City of the user making the deposit
                      examples:
                        - Madrid
                        - New York
                        - London
                    dob:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Date of birth of the user making the deposit
                      examples:
                        - '1990-01-01'
                        - '1995-05-15'
                        - '1988-12-31'
                    phoneNumber:
                      type: string
                      maxLength: 30
                      description: Phone number of the user making the deposit
                      examples:
                        - '+447700900123'
                        - '+447700900456'
                        - '+447700900789'
                    kycId:
                      type: string
                      minLength: 1
                      maxLength: 300
                      description: >-
                        KYC ID of the user making the deposit on your platform
                        (if the KYC is done by you, add the url)
                      examples:
                        - kyc-12345
                        - kyc-67890
                        - kyc-abcde
                    activity:
                      type: string
                      description: Activity of the user making the deposit
                      examples:
                        - worker
                        - business
                        - student
                  required:
                    - userType
                    - businessName
                    - firstName
                    - userEmail
                    - country
              description: User data of the person/company that will receive the funds
            destinationTransferData:
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BALANCE
                  required:
                    - type
                  description: Balance transfer details
                  title: Balance
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    iban:
                      type: string
                      description: IBAN number
                    bic:
                      type: string
                      description: BIC number (optional)
                    country:
                      type: string
                      description: Country code
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for SEPA payouts —
                        provide it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for SEPA payouts
                        — provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        the payout beneficiary `address.line1` when registering
                        the beneficiary. Stored on the saved transaction method
                        so the user does not have to re-supply it on every
                        withdraw.
                    type:
                      type: string
                      enum:
                        - SEPA
                  required:
                    - destinationName
                    - iban
                    - country
                    - type
                  description: SEPA transfer details
                  title: SEPA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: UK bank account number
                    sortCode:
                      type: string
                      description: UK sort code
                    country:
                      type: string
                      enum:
                        - GB
                      default: GB
                      description: >-
                        ISO 3166 country code of the recipient (GBP transfer is
                        UK-based)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - GBP_BANK_TRANSFER
                  required:
                    - destinationName
                    - accountNumber
                    - sortCode
                    - type
                  description: GBP domestic bank transfer details
                  title: BankDepositGB
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    accountNumber:
                      type: string
                      description: US bank account number
                    routingNumber:
                      type: string
                      description: US ABA routing number
                    country:
                      type: string
                      enum:
                        - US
                      default: US
                      description: >-
                        ISO 3166 country code of the recipient (ACH is
                        US-domestic)
                    accountType:
                      type: string
                      enum:
                        - PERSONAL
                        - BUSINESS
                      default: PERSONAL
                      description: Account type (optional)
                    bankAccountType:
                      type: string
                      enum:
                        - CHECKING
                        - SAVINGS
                      default: CHECKING
                      description: >-
                        Kind of bank account the payout lands in. Defaults to
                        CHECKING when omitted.
                    city:
                      type: string
                      description: >-
                        City of the recipient. REQUIRED for this rail — provide
                        it here or in destinationUserData.city.
                    postalCode:
                      type: string
                      description: >-
                        Postal code of the recipient. REQUIRED for this rail —
                        provide it here or in destinationUserData.postalCode.
                    state:
                      type: string
                      pattern: ^[A-Z]{2}$
                      description: >-
                        Two-letter US state code of the recipient (e.g. NY).
                        REQUIRED for this rail.
                    address:
                      type: string
                      description: >-
                        Street address (line 1) of the recipient. Forwarded as
                        payee address when creating the payee.
                    type:
                      type: string
                      enum:
                        - ACH_US
                  required:
                    - destinationName
                    - accountNumber
                    - routingNumber
                    - state
                    - type
                  description: USD ACH transfer details
                  title: AchUS
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - linkedBankAccount
                    accountLinkId:
                      type: string
                      pattern: ^alnk_[0-9a-f]{24}$
                      description: >-
                        Identifier of one of the account holder own linked bank
                        accounts
                      examples:
                        - alnk_0123456789abcdef01234567
                  required:
                    - type
                    - accountLinkId
                  description: >-
                    A bank account the account holder linked beforehand. Pays
                    out only to the holder of the order; never to a third party.
                    Not available yet.
                  title: LinkedBankAccount
                  deprecated: true
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ETH
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ETH destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ETH
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - MATIC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: MATIC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: MATIC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOL
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOL destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOL
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - TRON
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: TRON destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: TRON
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CELO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CELO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: CELO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BTC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BTC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: BTC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - SOLANA
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: SOLANA destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: SOLANA
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - XRP
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: XRP destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: XRP
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - CARDANO
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: CARDANO destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: \S
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: \S
                  title: CARDANO
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BSC
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BSC destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BSC
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - ARBITRUM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: ARBITRUM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: ARBITRUM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - OPTIMISM
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: OPTIMISM destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: OPTIMISM
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - AVALANCHE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: AVALANCHE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: AVALANCHE
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - BASE
                    address:
                      type: string
                      description: >-
                        Destination wallet address. Send this rather than the
                        legacy `destinationWalletAddress` — at least one of the
                        two is required, and a payload carrying neither is
                        rejected. On EVM chains the address is "0x" followed by
                        40 hex characters.
                    memo:
                      type: string
                      description: Memo for the wallet, when the chain uses one
                    txId:
                      type: string
                      description: Blockchain transaction ID
                    txUrlScan:
                      type: string
                      description: Blockchain explorer URL for the transaction
                    destinationWalletAddress:
                      type: string
                      description: >-
                        Destination wallet address (legacy shape). Still
                        accepted, but send `address` instead — at least one of
                        the two is required and supplying neither is rejected.
                    destinationWalletMemo:
                      type: string
                      description: Memo for the wallet (legacy shape) — send `memo` instead
                    destinationNetwork:
                      type: string
                      description: >-
                        Network name, when the corridor addresses the chain by
                        name rather than by `type`
                    destinationNetworkId:
                      type: string
                      description: >-
                        Network id from GET /v1/currencies/{currency}/networks,
                        for corridors where `supportsNetworkDiscovery` is true
                    destinationCurrencySymbol:
                      type: string
                      description: >-
                        Asset symbol on the chain. `type` names the chain, so
                        this is what separates the native coin from tokens on it
                        — ETH from USDC-on-Ethereum.
                  required:
                    - type
                  description: BASE destination details
                  anyOf:
                    - required:
                        - address
                      properties:
                        address:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                    - required:
                        - destinationWalletAddress
                      properties:
                        destinationWalletAddress:
                          pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                  title: BASE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/COP/networks.
                        Not read by the payout; retained for the network
                        selector and for stored records.
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_COL
                    destinationBankCode:
                      type: string
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=bankDepositCOL
                        (the code, not the name).
                    destinationBankAccountType:
                      type: string
                      description: Bank account type — CORRIENTE or AHORRO.
                    destinationTaxId:
                      type: string
                      description: Recipient ID document number.
                    destinationDocumentType:
                      type: string
                      description: Recipient ID document type — CC, CE, NIT, TI or PP.
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                    - destinationBankCode
                    - destinationBankAccountType
                    - destinationDocumentType
                    - destinationTaxId
                  description: >-
                    Colombian bank deposit details. Equivalent to ACH_COP — same
                    payout rail, same required fields, same bank roster; ACH_COP
                    is recommended for new integrations. Note that
                    BANK_DEPOSIT_COL is also the name of a COP collection rail.
                  title: Bank Deposit COL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    brebKey:
                      type: string
                      minLength: 1
                      description: Bre-B key (llave) that identifies the recipient account
                    email:
                      type: string
                      description: Recipient email (optional contact for the Bre-B rail)
                    destinationPhoneNumber:
                      type: string
                      description: >-
                        Recipient phone number (optional contact for the Bre-B
                        rail)
                    type:
                      type: string
                      enum:
                        - BRE_B_COP
                  required:
                    - destinationName
                    - brebKey
                    - type
                  description: Colombian Bre-B payout details
                  title: Bre-B COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{4}$
                      description: >-
                        Recipient bank code — one of the 4-digit codes published
                        by GET
                        /v1/currencies/COP/destination-schema?method=achCOP (the
                        code, not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      description: Recipient bank account number
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: Bank account type (e.g. AHORROS / CORRIENTE)
                    destinationDocumentType:
                      type: string
                      minLength: 1
                      description: Recipient ID document type (e.g. CC / CE / NIT)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: Recipient ID document number
                    type:
                      type: string
                      enum:
                        - ACH_COP
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationDocumentType
                    - destinationTaxId
                    - type
                  description: Colombian ACH payout details
                  title: ACH COP
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for TWD — no network
                        discovery)
                    destinationBankName:
                      type: string
                      minLength: 2
                      description: Bank name (required — TWD payouts run over SWIFT)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TW
                    destinationBankBranch:
                      type: string
                      minLength: 2
                      description: Bank branch (required — TWD payouts run over SWIFT)
                    bic:
                      type: string
                      pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                      description: SWIFT BIC code (required for TWD payouts)
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankBranch
                    - bic
                  description: Taiwan bank deposit details (SWIFT payout)
                  title: Bank Deposit TW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankBranch:
                      type: string
                      description: Bank branch
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BR
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccount
                    - destinationBankBranch
                    - destinationTaxId
                    - type
                  description: Brazilian bank deposit details
                  title: Bank Deposit BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPixCode:
                      type: string
                      description: PIX code
                    destinationTaxId:
                      type: string
                      description: Tax ID of the recipient
                    type:
                      type: string
                      enum:
                        - PIX_BR
                  required:
                    - destinationName
                    - destinationPixCode
                    - destinationTaxId
                    - type
                  description: Brazilian PIX details
                  title: PIX BR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number
                    destinationBankName:
                      type: string
                      description: Name of the bank
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - destinationBankName
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan bank deposit details
                  title: Bank Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                      description: Tax ID of the recipient
                    destinationBankAccountType:
                      type: string
                      description: Type of bank account
                    type:
                      type: string
                      enum:
                        - PHONE_DEPOSIT_VEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationPhoneNumber
                    - destinationTaxId
                    - destinationBankAccountType
                    - type
                  description: Venezuelan phone deposit details
                  title: Phone Deposit VEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_IN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - IMPS
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    India IMPS details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: IMPS
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - THAI_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Thailand Thai QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Thai QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - VIET_QR
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Vietnam Viet QR details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Viet QR
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationIFSC:
                      type: string
                      description: IFSC code
                    type:
                      type: string
                      enum:
                        - GCASH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Philippines GCash details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: GCash
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationTaxId:
                      type: string
                      description: Tax ID
                    type:
                      type: string
                      enum:
                        - MOBILE_PAYMENT_IN
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - destinationTaxId
                    - type
                  description: >-
                    India mobile payment details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Payment IN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      description: Bank code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_VN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - type
                  description: >-
                    Vietnam bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit VN
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    bic:
                      type: string
                      description: >-
                        SWIFT BIC code (required for HKD payouts via the HK bank
                        corridor)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city (defaults to Hong Kong)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_HK
                  required:
                    - destinationName
                    - destinationBankAccount
                    - bic
                    - destinationBankName
                    - destinationAddress
                    - type
                  description: Hong Kong bank deposit details (HKD bank corridor)
                  title: Bank Deposit HK
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationBankCode:
                      type: string
                      pattern: ^\d+$
                      description: CNAPS / bank institution code (numeric, variable length)
                    destinationBankName:
                      type: string
                      description: Bank name
                    destinationAddress:
                      type: string
                      description: Address line 1 of the recipient
                    destinationCity:
                      type: string
                      description: Recipient city
                    destinationState:
                      type: string
                      minLength: 1
                      description: >-
                        Province / state of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPostcode:
                      type: string
                      minLength: 1
                      description: >-
                        Postal code of the recipient (required for CN — the
                        beneficiary is rejected in compliance review without it)
                    destinationPhone:
                      type: string
                      description: >-
                        Phone number of the recipient, without country prefix
                        (optional; defaulted for CN when omitted)
                    destinationTaxId:
                      type: string
                      description: >-
                        Unified Social Credit Code (USCC, GB 32100-2015) of the
                        recipient company — 18 characters including the check
                        digit; whitespace is removed and letters are normalized
                        to uppercase (optional)
                    accountHolderName:
                      type: string
                      description: Bank account holder name if different from payee
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CN
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankCode
                    - destinationBankName
                    - destinationAddress
                    - destinationCity
                    - destinationState
                    - destinationPostcode
                    - type
                  description: China mainland bank deposit details (CNY bank corridor)
                  title: Bank Deposit CN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/ARS/networks
                        (the network selector, optional)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_AR
                    destinationCBU:
                      type: string
                      description: CBU — 22-digit bank account key (legacy, optional)
                    destinationCVU:
                      type: string
                      description: CVU — 22-digit virtual account key (legacy, optional)
                    destinationAlias:
                      type: string
                      description: Account alias (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: >-
                        CUIT/CUIL tax ID of the recipient (required when
                        creating ARS bank destinations): exactly 11 digits with
                        no hyphens, spaces or other characters, and a valid
                        check digit (e.g. 20000000001)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                    - destinationTaxId
                  description: Argentinian bank deposit details
                  title: Bank Deposit AR
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      minLength: 1
                      description: Recipient bank name (required for Chilean bank payouts)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CL
                    destinationBankAccountType:
                      type: string
                      minLength: 1
                      description: >-
                        Account type — corriente or ahorro (required for Chilean
                        bank payouts)
                    destinationTaxId:
                      type: string
                      minLength: 1
                      description: >-
                        RUT tax ID of the recipient (required for Chilean bank
                        payouts)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationBankName
                    - type
                    - destinationBankAccountType
                    - destinationTaxId
                  description: Chilean bank deposit details
                  title: Bank Deposit CL
                - type: object
                  properties:
                    destinationName:
                      type: string
                      minLength: 2
                      maxLength: 30
                      description: Recipient name (required, 2–30 characters)
                    destinationBankAccount:
                      type: string
                      minLength: 1
                      maxLength: 11
                      description: >-
                        Bank account number (max 11 digits for Bolivian
                        accounts)
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (unused for BOB — no network
                        discovery)
                    destinationBankName:
                      type: string
                      maxLength: 20
                      description: Bank name (optional, max 20 characters)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BO
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 15
                      description: >-
                        NIT tax ID of the recipient (required for Bolivian
                        payouts)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                    - destinationTaxId
                  description: Bolivian bank deposit details
                  title: Bank Deposit BO
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id from GET /v1/currencies/PEN/networks
                        (the network selector)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PE
                    destinationCCI:
                      type: string
                      description: CCI — 20-digit interbank account code (legacy, optional)
                    destinationBankAccountType:
                      type: string
                      description: Account type (corriente/ahorro) (legacy, optional)
                    destinationTaxId:
                      type: string
                      description: DNI/RUC document ID of the recipient (legacy, optional)
                    destinationDocumentType:
                      type: string
                      description: Document type of the recipient (legacy, optional)
                  required:
                    - destinationName
                    - destinationBankAccount
                    - destinationNetworkId
                    - type
                  description: >-
                    Peruvian bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit PE
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      pattern: ^\d{3}$
                      description: >-
                        Recipient bank code (the 3-digit code the rail expects,
                        not the name)
                    destinationBankAccountNumber:
                      type: string
                      minLength: 1
                      maxLength: 20
                      description: Recipient bank account number (max 20)
                    destinationBankAccountType:
                      type: string
                      enum:
                        - CORRIENTE
                        - AHORROS
                        - PHONE
                      description: Bank account type
                    destinationCCI:
                      type: string
                      pattern: ^\d{1,20}$
                      description: >-
                        CCI — Peruvian interbank code (required, digits only,
                        max 20)
                    destinationDocumentType:
                      type: string
                      enum:
                        - CC
                        - CE
                        - RUC
                        - PAS
                        - PAR
                        - LMI
                        - OTHER
                      description: Recipient identification type
                    destinationTaxId:
                      type: string
                      minLength: 1
                      maxLength: 50
                      description: Recipient identification number (max 50)
                    email:
                      type: string
                      pattern: ^.+@.+\..+$
                      description: Recipient email (required for PEN payouts)
                    destinationPhoneNumber:
                      type: string
                      pattern: ^\d{1,9}$
                      description: Recipient phone number (required, max 9 digits)
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_PEN
                  required:
                    - destinationName
                    - destinationBankCode
                    - destinationBankAccountNumber
                    - destinationBankAccountType
                    - destinationCCI
                    - destinationDocumentType
                    - destinationTaxId
                    - email
                    - destinationPhoneNumber
                    - type
                  description: Peruvian bank deposit details (bank-code payout corridor).
                  title: Bank Deposit PEN
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_NG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Nigeria bank deposit details
                  title: Bank Deposit NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_KE
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Kenya bank deposit details
                  title: Bank Deposit KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_GH
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    Ghana bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZA
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: South Africa bank deposit details
                  title: Bank Deposit ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_TZ
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Tanzania bank deposit details
                  title: Bank Deposit TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_UG
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Uganda bank deposit details
                  title: Bank Deposit UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_RW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Rwanda bank deposit details
                  title: Bank Deposit RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Malawi bank deposit details
                  title: Bank Deposit MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_ZM
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Zambia bank deposit details
                  title: Bank Deposit ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_BW
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Botswana bank deposit details
                  title: Bank Deposit BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_CD
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: >-
                    DR Congo bank deposit details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Bank Deposit CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XOF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: West African CFA bank deposit details
                  title: Bank Deposit XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankAccount:
                      type: string
                      description: Bank account
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationBankName is
                        given)
                    destinationBankName:
                      type: string
                      description: >-
                        Bank name (used to resolve the network when id is
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_XAF
                  required:
                    - destinationName
                    - destinationBankAccount
                    - type
                  description: Central African CFA bank deposit details
                  title: Bank Deposit XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_NG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Nigeria mobile money details
                  title: Mobile Money NG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_KE
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Kenya mobile money details
                  title: Mobile Money KE
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_GH
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    Ghana mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money GH
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZA
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: South Africa mobile money details
                  title: Mobile Money ZA
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_TZ
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Tanzania mobile money details
                  title: Mobile Money TZ
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_UG
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Uganda mobile money details
                  title: Mobile Money UG
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_RW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Rwanda mobile money details
                  title: Mobile Money RW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_MW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Malawi mobile money details
                  title: Mobile Money MW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_ZM
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Zambia mobile money details
                  title: Mobile Money ZM
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_BW
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Botswana mobile money details
                  title: Mobile Money BW
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_CD
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: >-
                    DR Congo mobile money details. Deprecated — no active payout
                    corridor for this method; orders using it are rejected.
                    Retained for backward compatibility with stored
                    destinations.
                  title: Mobile Money CD
                  deprecated: true
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XOF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: West African CFA mobile money details
                  title: Mobile Money XOF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPhoneNumber:
                      type: string
                      description: Phone number
                    destinationNetworkId:
                      type: string
                      description: >-
                        Payout network id (optional if destinationNetworkName is
                        given)
                    destinationNetworkName:
                      type: string
                      description: >-
                        Mobile money network name (resolves the network when id
                        omitted)
                    country:
                      type: string
                      description: ISO 3166 country code
                    type:
                      type: string
                      enum:
                        - MOBILE_MONEY_XAF
                  required:
                    - destinationName
                    - destinationPhoneNumber
                    - type
                  description: Central African CFA mobile money details
                  title: Mobile Money XAF
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationBankCode:
                      type: string
                      description: Bank code
                    destinationBankAccountNumber:
                      type: string
                      description: Bank account number (18-digit CLABE)
                    numericReference:
                      type: string
                      description: Numeric reference
                    notesReference:
                      type: string
                      description: Notes reference
                    destinationClabe:
                      type: string
                      description: >-
                        CLABE — legacy alias, prefer
                        destinationBankAccountNumber
                    destinationTaxId:
                      type: string
                      description: >-
                        Recipient tax id (RFC) — required by some MX
                        bank-deposit rails ("Número de Identificación");
                        optional otherwise
                    type:
                      type: string
                      enum:
                        - BANK_DEPOSIT_MX
                  required:
                    - destinationName
                    - destinationBankAccountNumber
                    - type
                  description: Mexican bank deposit details
                  title: Bank Deposit MX
                - type: object
                  properties:
                    destinationName:
                      type: string
                      description: Name of the recipient
                    destinationPseNumber:
                      type: string
                      description: PSE number
                    type:
                      type: string
                      enum:
                        - PSE
                  required:
                    - destinationName
                    - destinationPseNumber
                    - type
                  description: >-
                    PSE transfer details. Deprecated — no active payout corridor
                    for this method; orders using it are rejected. Retained for
                    backward compatibility with stored destinations.
                  title: PSE
                  deprecated: true
              description: >-
                The details required for the end user destination transfer
                method.
            externalReference:
              type: string
              description: >-
                Your own reference for this order, echoed back on the order
                object
              examples:
                - order-2026-000123
            integrationSessionId:
              type: string
              pattern: ^int_[A-Za-z0-9]{16}$
              description: Integration session ID for partner attribution tracking
              examples:
                - int_a1B2c3D4e5F6g7H8
            tradeDetails:
              type: object
              properties:
                businessType:
                  type: string
                  enum:
                    - GOODS_TRADE
                contractNo:
                  type: string
                  minLength: 1
                website:
                  type: string
                  format: uri
                products:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                        minLength: 1
                      quantity:
                        type: number
                        minimum: 0
                        exclusiveMinimum: true
                      unit:
                        type: string
                        minLength: 1
                      category:
                        type: string
                        minLength: 1
                    required:
                      - name
                      - quantity
                      - unit
                    additionalProperties: false
                  minItems: 1
              required:
                - businessType
                - contractNo
                - products
              additionalProperties: false
              description: >-
                Trade context for regulated payout corridors that require a
                transaction document (e.g. CNY SAFE compliance): goods/services
                type, contract number, and itemised product list. Collected at
                order creation for bank-deposit CN orders.
          required:
            - quoteId
          additionalProperties: false
          description: >-
            Create an order from a quote. userData (payer) is required unless
            the quote uses origin rail BALANCE.
          title: Create Order with User Data
        - type: object
          properties:
            transferId:
              type: string
              description: Transfer ID without provider prefix (from path parameter)
              example: '12345'
            quoteId:
              type: string
              description: Quote ID (required for order creation, from request body)
              example: QUOTE123
          required:
            - transferId
            - quoteId
    LinkPendingPaymentRequest:
      type: object
      properties:
        transferId:
          type: string
          description: Transfer ID without provider prefix (from path parameter)
          example: '12345'
        entityId:
          type: string
          description: Order ID or Deposit ID to link to (from request body)
          example: 01CLFXMT67II
        entityType:
          type: string
          enum:
            - order
            - deposit
          description: Type of entity to link to (from request body)
          example: deposit
      required:
        - transferId
        - entityId
        - entityType
    LinkPendingPaymentResponse:
      type: object
      properties:
        message:
          type: string
        transferId:
          type: string
        entityId:
          type: string
        entityType:
          type: string
          enum:
            - order
            - deposit
      required:
        - transferId
        - entityId
        - entityType
    RemovePrelinkRequest:
      type: object
      properties:
        transferId:
          type: string
          description: Transfer ID without provider prefix (from path parameter)
          example: '12345'
        reason:
          type: string
          minLength: 1
          description: Reason for removing prelink (from request body)
          example: Incorrect prelink match
      required:
        - transferId
        - reason
    RemovePrelinkResponse:
      type: object
      properties:
        message:
          type: string
        transferId:
          type: string
      required:
        - transferId
    CreateConversationRequest:
      type: object
      properties:
        endUserEmail:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: >-
            Email of the end-user this conversation belongs to. An account is
            provisioned on first use if none exists.
        text:
          type: string
          minLength: 1
          maxLength: 5000
          description: The opening message. See `authoredBy` for who it is from.
        authoredBy:
          type: string
          enum:
            - end_user
            - operator
          default: end_user
          description: >-
            Who writes the opening message. `end_user` (default) is the customer
            opening a support thread — the thread then waits on you. `operator`
            is you reaching out first: the thread waits on the customer, the
            unread sits on their side, and no `conversation_created` webhook is
            emitted (you already know — you sent it).
        subject:
          type: string
          minLength: 1
          maxLength: 200
          description: Thread subject
        topic:
          type: string
          minLength: 1
          maxLength: 200
          description: Free-text triage topic
        priority:
          type: string
          enum:
            - low
            - normal
            - high
          description: Triage priority
        relatedOrderId:
          type: string
          minLength: 1
          description: An order id to associate with the thread
      required:
        - endUserEmail
        - text
      additionalProperties: false
      example:
        endUserEmail: jane@example.com
        text: My payout has not arrived yet
        subject: Payout delay
        priority: normal
    SendConversationMessageRequest:
      type: object
      properties:
        endUserEmail:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: Email of the end-user this conversation belongs to
        text:
          type: string
          minLength: 1
          maxLength: 5000
          description: Message body
        relatedOrderId:
          type: string
          minLength: 1
          description: An order id to associate with the message
        attachments:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Attachment MIME/type label
              url:
                type: string
                format: uri
                description: HTTPS URL of the attachment
              name:
                type: string
                description: Original file name
              size:
                type: number
                minimum: 0
                description: Size in bytes
            required:
              - type
              - url
          maxItems: 10
          description: Up to 10 attachments
        internal:
          type: boolean
          description: >-
            When true, the message is an internal support note hidden from the
            end-user.
      required:
        - endUserEmail
        - text
      additionalProperties: false
      example:
        endUserEmail: jane@example.com
        text: We are looking into your payout now.
    ConversationView:
      type: object
      properties:
        conversationId:
          type: string
          description: Conversation id
        status:
          type: string
          enum:
            - open
            - pending_admin
            - pending_account
            - closed
          description: Thread status
        subject:
          type: string
          description: Thread subject
        topic:
          type: string
          description: Triage topic
        priority:
          type: string
          enum:
            - low
            - normal
            - high
          description: Triage priority
        lastMessagePreview:
          type: string
          description: PII-safe preview of the last end-user-visible message
        lastMessageAt:
          type: number
          description: Epoch-ms of the last message
        lastMessageBy:
          type: string
          enum:
            - account
            - support
            - system
          description: Who sent the last message
        unreadCount:
          type: integer
          minimum: 0
          description: Messages from the end-user awaiting your response
        relatedOrderIds:
          type: array
          items:
            type: string
          description: Order ids associated with the thread
        createdAt:
          type: number
          description: Epoch-ms created
        updatedAt:
          type: number
          description: Epoch-ms last updated
      required:
        - conversationId
        - status
        - lastMessagePreview
        - lastMessageAt
        - lastMessageBy
        - unreadCount
        - relatedOrderIds
        - createdAt
        - updatedAt
      example:
        conversationId: 2f1c0e9a-9b3e-4d7a-8c2b-1a2b3c4d5e6f
        status: pending_account
        subject: Payout delay
        priority: normal
        lastMessagePreview: We are looking into your payout now.
        lastMessageAt: 1751200000000
        lastMessageBy: support
        unreadCount: 0
        relatedOrderIds: []
        createdAt: 1751190000000
        updatedAt: 1751200000000
    ConversationMessageView:
      type: object
      properties:
        messageId:
          type: string
          description: Message id
        conversationId:
          type: string
          description: Conversation id
        sender:
          type: string
          enum:
            - account
            - support
            - system
          description: >-
            Who sent the message: `account` = the end-user, `support` = your
            support agent or VirtuaBroker, `system` = automated.
        text:
          type: string
          description: Message body
        internal:
          type: boolean
          description: >-
            True for an internal support note. You MUST NOT display an internal
            message to the end-user — request audience=end_user for the
            end-user-facing pipe.
        relatedOrderId:
          type: string
          description: Associated order id
        attachments:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                minLength: 1
                description: Attachment MIME/type label
              url:
                type: string
                format: uri
                description: HTTPS URL of the attachment
              name:
                type: string
                description: Original file name
              size:
                type: number
                minimum: 0
                description: Size in bytes
            required:
              - type
              - url
          description: Attachments
        createdAt:
          type: number
          description: Epoch-ms created
        editedAt:
          type: number
          description: Epoch-ms last edited
      required:
        - messageId
        - conversationId
        - sender
        - text
        - internal
        - createdAt
      example:
        messageId: 9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
        conversationId: 2f1c0e9a-9b3e-4d7a-8c2b-1a2b3c4d5e6f
        sender: account
        text: My payout has not arrived yet
        internal: false
        createdAt: 1751190000000
    CreateWidgetSessionRequest:
      type: object
      properties:
        endUserEmail:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: >-
            Email of the end-user the widget session is scoped to. An account is
            provisioned on first use.
      required:
        - endUserEmail
      additionalProperties: false
      example:
        endUserEmail: jane@example.com
    WidgetSessionResponse:
      type: object
      properties:
        session:
          type: string
          description: >-
            Opaque, short-lived credential scoped to one end-user. Hand ONLY
            this to the browser widget; it carries no secret. Pass it back as
            the `session` query param on widget calls.
        expiresAt:
          type: number
          description: Session expiry (epoch ms)
      required:
        - session
        - expiresAt
      example:
        session: eyJraW5kIjoiY29udmVyc2F0aW9uX3dpZGdldCIs....4b1c…
        expiresAt: 1751207200000
    CustomerPublic:
      type: object
      properties:
        customerId:
          type: string
          minLength: 1
          description: >-
            Stable customer identifier: the email for individuals, a UUID for
            organisations.
        customerType:
          type: string
          enum:
            - individual
            - organisation
          description: 'Type of customer: a person or a business.'
        externalId:
          type: string
          description: >-
            The identifier you supplied at creation to link this customer to
            your own system. Absent when the customer was created without one.
        email:
          type: string
          minLength: 1
          maxLength: 254
          format: email
          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
          description: >-
            Customer email. Present for individuals (equals customerId);
            individuals are identified by email, so it cannot be updated.
        firstName:
          type: string
          description: First name (individuals).
        lastName:
          type: string
          description: Last name (individuals).
        displayName:
          type: string
          description: >-
            Human-readable name: full name for individuals, legal company name
            for organisations.
        country:
          type: string
          minLength: 2
          maxLength: 2
          description: >-
            ISO 3166-1 alpha-2 country: residence country for individuals,
            incorporation country for organisations.
        language:
          type: string
          enum:
            - en
            - es
            - pt
            - fr
            - de
            - it
          description: Preferred language.
        defaultCurrency:
          type: string
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BZD
            - CAD
            - CDF
            - CHF
            - CLP
            - CNY
            - COP
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLE
            - SLL
            - SOS
            - SRD
            - SSP
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TVD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - UYU
            - UYW
            - UZS
            - VED
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XSU
            - XTS
            - XUA
            - XXX
            - YER
            - ZAR
            - ZMW
            - ZWL
          description: Default currency for this customer.
        kycStatus:
          type: string
          enum:
            - PENDING
            - REVIEWING
            - IN_PROGRESS
            - APPROVED
            - REJECTED
            - NOT_AVAILABLE
          description: >-
            Identity verification (KYC) status. NOT_AVAILABLE for organisations
            (see kybStatus).
        kybStatus:
          type: string
          enum:
            - DRAFT
            - PENDING_REVIEW
            - APPROVED
            - REJECTED
          description: Business verification (KYB) status. Present for organisations.
        createdAt:
          type: number
          description: Creation timestamp (epoch milliseconds).
        updatedAt:
          type: number
          description: Last identity/verification update timestamp (epoch milliseconds).
      required:
        - customerId
        - customerType
        - displayName
        - kycStatus
        - createdAt
        - updatedAt
      additionalProperties: false
    CreateCustomerRequest:
      oneOf:
        - type: object
          properties:
            customerType:
              type: string
              enum:
                - individual
            email:
              type: string
              minLength: 1
              maxLength: 254
              format: email
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: >-
                Customer email — the public identifier of an individual
                customer. Case-insensitive: it is normalized to lowercase.
            firstName:
              type: string
              minLength: 1
              maxLength: 35
            lastName:
              type: string
              minLength: 1
              maxLength: 35
            country:
              type: string
              enum:
                - AW
                - AF
                - AO
                - AI
                - AX
                - AL
                - AD
                - AE
                - AR
                - AM
                - AS
                - AQ
                - TF
                - AG
                - AU
                - AT
                - AZ
                - BI
                - BE
                - BJ
                - BQ
                - BF
                - BD
                - BG
                - BH
                - BS
                - BA
                - BL
                - BY
                - BZ
                - BM
                - BO
                - BR
                - BB
                - BN
                - BT
                - BV
                - BW
                - CF
                - CA
                - CC
                - CH
                - CL
                - CN
                - CI
                - CM
                - CD
                - CG
                - CK
                - CO
                - KM
                - CV
                - CR
                - CU
                - CW
                - CX
                - KY
                - CY
                - CZ
                - DE
                - DJ
                - DM
                - DK
                - DO
                - DZ
                - EC
                - EG
                - ER
                - EH
                - ES
                - EE
                - ET
                - FI
                - FJ
                - FK
                - FR
                - FO
                - FM
                - GA
                - GB
                - GE
                - GG
                - GH
                - GI
                - GN
                - GP
                - GM
                - GW
                - GQ
                - GR
                - GD
                - GL
                - GT
                - GF
                - GU
                - GY
                - HK
                - HM
                - HN
                - HR
                - HT
                - HU
                - ID
                - IM
                - IN
                - IO
                - IE
                - IR
                - IQ
                - IS
                - IL
                - IT
                - JM
                - JE
                - JO
                - JP
                - KZ
                - KE
                - KG
                - KH
                - KI
                - KN
                - KR
                - KW
                - LA
                - LB
                - LR
                - LY
                - LC
                - LI
                - LK
                - LS
                - LT
                - LU
                - LV
                - MO
                - MF
                - MA
                - MC
                - MD
                - MG
                - MV
                - MX
                - MH
                - MK
                - ML
                - MT
                - MM
                - ME
                - MN
                - MP
                - MZ
                - MR
                - MS
                - MQ
                - MU
                - MW
                - MY
                - YT
                - NA
                - NC
                - NE
                - NF
                - NG
                - NI
                - NU
                - NL
                - 'NO'
                - NP
                - NR
                - NZ
                - OM
                - PK
                - PA
                - PN
                - PE
                - PH
                - PW
                - PG
                - PL
                - PR
                - KP
                - PT
                - PY
                - PS
                - PF
                - QA
                - RE
                - RO
                - RU
                - RW
                - SA
                - SD
                - SN
                - SG
                - GS
                - SH
                - SJ
                - SB
                - SL
                - SV
                - SM
                - SO
                - PM
                - RS
                - SS
                - ST
                - SR
                - SK
                - SI
                - SE
                - SZ
                - SX
                - SC
                - SY
                - TC
                - TD
                - TG
                - TH
                - TJ
                - TK
                - TM
                - TL
                - TO
                - TT
                - TN
                - TR
                - TV
                - TW
                - TZ
                - UG
                - UA
                - UM
                - UY
                - US
                - UZ
                - VA
                - VC
                - VE
                - VG
                - VI
                - VN
                - VU
                - WF
                - WS
                - YE
                - ZA
                - ZM
                - ZW
              description: ISO 3166-1 alpha-2 residence country.
            language:
              type: string
              enum:
                - en
                - es
                - pt
                - fr
                - de
                - it
            defaultCurrency:
              type: string
              enum:
                - AED
                - AFN
                - ALL
                - AMD
                - ANG
                - AOA
                - ARS
                - AUD
                - AWG
                - AZN
                - BAM
                - BBD
                - BDT
                - BGN
                - BHD
                - BIF
                - BMD
                - BND
                - BOB
                - BRL
                - BSD
                - BTN
                - BWP
                - BYN
                - BZD
                - CAD
                - CDF
                - CHF
                - CLP
                - CNY
                - COP
                - CRC
                - CUC
                - CUP
                - CVE
                - CZK
                - DJF
                - DKK
                - DOP
                - DZD
                - EGP
                - ERN
                - ETB
                - EUR
                - FJD
                - FKP
                - GBP
                - GEL
                - GHS
                - GIP
                - GMD
                - GNF
                - GTQ
                - GYD
                - HKD
                - HNL
                - HRK
                - HTG
                - HUF
                - IDR
                - ILS
                - INR
                - IQD
                - IRR
                - ISK
                - JMD
                - JOD
                - JPY
                - KES
                - KGS
                - KHR
                - KMF
                - KPW
                - KRW
                - KWD
                - KYD
                - KZT
                - LAK
                - LBP
                - LKR
                - LRD
                - LSL
                - LYD
                - MAD
                - MDL
                - MGA
                - MKD
                - MMK
                - MNT
                - MOP
                - MRU
                - MUR
                - MVR
                - MWK
                - MXN
                - MYR
                - MZN
                - NAD
                - NGN
                - NIO
                - NOK
                - NPR
                - NZD
                - OMR
                - PAB
                - PEN
                - PGK
                - PHP
                - PKR
                - PLN
                - PYG
                - QAR
                - RON
                - RSD
                - RUB
                - RWF
                - SAR
                - SBD
                - SCR
                - SDG
                - SEK
                - SGD
                - SHP
                - SLE
                - SLL
                - SOS
                - SRD
                - SSP
                - STN
                - SVC
                - SYP
                - SZL
                - THB
                - TJS
                - TMT
                - TND
                - TOP
                - TRY
                - TTD
                - TVD
                - TWD
                - TZS
                - UAH
                - UGX
                - USD
                - UYU
                - UYW
                - UZS
                - VED
                - VES
                - VND
                - VUV
                - WST
                - XAF
                - XAG
                - XAU
                - XBA
                - XBB
                - XBC
                - XBD
                - XCD
                - XDR
                - XOF
                - XPD
                - XPF
                - XPT
                - XSU
                - XTS
                - XUA
                - XXX
                - YER
                - ZAR
                - ZMW
                - ZWL
              description: ISO 4217 currency code (3-letter alphabetic code)
            externalId:
              type: string
              minLength: 1
              maxLength: 128
              pattern: ^[A-Za-z0-9._-]+$
              description: >-
                Your own stable identifier for this customer (for example your
                CRM record id). 1-128 characters: letters, digits, dots,
                underscores, hyphens. Unique within your workspace and immutable
                once set.
          required:
            - customerType
            - email
            - firstName
            - lastName
            - country
          additionalProperties: false
        - type: object
          properties:
            customerType:
              type: string
              enum:
                - organisation
            companyName:
              type: string
              minLength: 1
              description: Legal company name.
            country:
              type: string
              enum:
                - US
                - CA
                - GB
                - DE
                - FR
                - AU
                - JP
                - KR
                - SE
                - 'NO'
                - DK
                - FI
                - NL
                - BE
                - CH
                - AT
                - NZ
                - SG
                - IE
                - LU
                - PT
                - ES
                - IT
                - GR
                - CZ
                - PL
                - HU
                - SK
                - SI
                - EE
                - LT
                - LV
                - IS
                - MT
                - CY
                - HR
                - RO
                - BG
                - BR
                - AR
                - CL
                - MX
                - CO
                - PE
                - PA
                - UY
                - BO
                - ZA
                - NG
                - KE
                - GH
                - TZ
                - UG
                - RW
                - MW
                - ZM
                - BW
                - CD
                - CI
                - CM
                - IL
                - AE
                - QA
                - SA
                - OM
                - KW
                - BH
                - MY
                - PH
                - TH
                - VN
                - ID
                - IN
                - LK
                - NP
                - BD
                - PK
                - EG
                - MA
                - DZ
                - TN
                - JO
                - LB
                - TR
                - KH
                - MM
                - LA
                - EN
                - BT
                - VE
                - TW
                - HK
                - CN
              description: Country of incorporation (ISO 3166-1 alpha-2).
            registrationNumber:
              type: string
              minLength: 1
            language:
              type: string
              enum:
                - en
                - es
                - pt
                - fr
                - de
                - it
            defaultCurrency:
              type: string
              enum:
                - AED
                - AFN
                - ALL
                - AMD
                - ANG
                - AOA
                - ARS
                - AUD
                - AWG
                - AZN
                - BAM
                - BBD
                - BDT
                - BGN
                - BHD
                - BIF
                - BMD
                - BND
                - BOB
                - BRL
                - BSD
                - BTN
                - BWP
                - BYN
                - BZD
                - CAD
                - CDF
                - CHF
                - CLP
                - CNY
                - COP
                - CRC
                - CUC
                - CUP
                - CVE
                - CZK
                - DJF
                - DKK
                - DOP
                - DZD
                - EGP
                - ERN
                - ETB
                - EUR
                - FJD
                - FKP
                - GBP
                - GEL
                - GHS
                - GIP
                - GMD
                - GNF
                - GTQ
                - GYD
                - HKD
                - HNL
                - HRK
                - HTG
                - HUF
                - IDR
                - ILS
                - INR
                - IQD
                - IRR
                - ISK
                - JMD
                - JOD
                - JPY
                - KES
                - KGS
                - KHR
                - KMF
                - KPW
                - KRW
                - KWD
                - KYD
                - KZT
                - LAK
                - LBP
                - LKR
                - LRD
                - LSL
                - LYD
                - MAD
                - MDL
                - MGA
                - MKD
                - MMK
                - MNT
                - MOP
                - MRU
                - MUR
                - MVR
                - MWK
                - MXN
                - MYR
                - MZN
                - NAD
                - NGN
                - NIO
                - NOK
                - NPR
                - NZD
                - OMR
                - PAB
                - PEN
                - PGK
                - PHP
                - PKR
                - PLN
                - PYG
                - QAR
                - RON
                - RSD
                - RUB
                - RWF
                - SAR
                - SBD
                - SCR
                - SDG
                - SEK
                - SGD
                - SHP
                - SLE
                - SLL
                - SOS
                - SRD
                - SSP
                - STN
                - SVC
                - SYP
                - SZL
                - THB
                - TJS
                - TMT
                - TND
                - TOP
                - TRY
                - TTD
                - TVD
                - TWD
                - TZS
                - UAH
                - UGX
                - USD
                - UYU
                - UYW
                - UZS
                - VED
                - VES
                - VND
                - VUV
                - WST
                - XAF
                - XAG
                - XAU
                - XBA
                - XBB
                - XBC
                - XBD
                - XCD
                - XDR
                - XOF
                - XPD
                - XPF
                - XPT
                - XSU
                - XTS
                - XUA
                - XXX
                - YER
                - ZAR
                - ZMW
                - ZWL
              description: ISO 4217 currency code (3-letter alphabetic code)
            externalId:
              type: string
              minLength: 1
              maxLength: 128
              pattern: ^[A-Za-z0-9._-]+$
              description: >-
                Your own stable identifier for this customer (for example your
                CRM record id). 1-128 characters: letters, digits, dots,
                underscores, hyphens. Unique within your workspace and immutable
                once set.
          required:
            - customerType
            - companyName
          additionalProperties: false
    UpdateCustomerRequest:
      type: object
      properties:
        language:
          type: string
          enum:
            - en
            - es
            - pt
            - fr
            - de
            - it
        defaultCurrency:
          type: string
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BZD
            - CAD
            - CDF
            - CHF
            - CLP
            - CNY
            - COP
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLE
            - SLL
            - SOS
            - SRD
            - SSP
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TVD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - UYU
            - UYW
            - UZS
            - VED
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XSU
            - XTS
            - XUA
            - XXX
            - YER
            - ZAR
            - ZMW
            - ZWL
          description: ISO 4217 currency code (3-letter alphabetic code)
      additionalProperties: false
    CreatePaymentRequestRequest:
      type: object
      properties:
        type:
          type: string
          enum:
            - general
            - nominal
          description: >-
            `general` = payable by anyone with the link; `nominal` = targeted at
            one payer (requires `recipient`).
        amount:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: Amount to request.
        currency:
          type: string
          minLength: 1
          description: >-
            Settlement currency (what the payee receives). Must be holdable as a
            balance — see GET /v1/currencies.
        accountId:
          type: string
          minLength: 1
          description: >-
            The managed customer (payee) who receives the funds. Must belong to
            your workspace.
        recipient:
          type: object
          properties:
            accountId:
              type: string
              minLength: 1
            contactEmail:
              type: string
              minLength: 1
              maxLength: 254
              format: email
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: Email address
          additionalProperties: false
          description: >-
            The payer being asked to pay. Required for `nominal`, forbidden for
            `general`.
        lockedPaymentCurrency:
          type: string
          minLength: 1
          description: Forces the payer to pay in exactly this currency.
        description:
          type: string
          maxLength: 500
        expiresAt:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          description: Expiry timestamp (epoch milliseconds).
      required:
        - type
        - amount
        - currency
        - accountId
      additionalProperties: false
    CreatePaymentRequestResponse:
      type: object
      properties:
        paymentRequestId:
          type: string
          minLength: 1
        url:
          type: string
          minLength: 1
          description: Hosted checkout link the payer completes the payment on.
      required:
        - paymentRequestId
        - url
      additionalProperties: false
    PaymentRequestStatus:
      type: object
      properties:
        paymentRequestId:
          type: string
          minLength: 1
        type:
          type: string
          enum:
            - general
            - nominal
        status:
          type: string
          enum:
            - open
            - processing
            - paid
            - expired
            - cancelled
            - rejected
        recipient:
          type: object
          nullable: true
          properties:
            accountId:
              type: string
              minLength: 1
            contactEmail:
              type: string
              minLength: 1
              maxLength: 254
              format: email
              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
              description: Email address
          additionalProperties: false
        destinationLabel:
          type: string
          nullable: true
          description: Display name of the payee requesting the funds.
        requestedAmount:
          type: number
        requestedCurrency:
          type: string
        lockedPaymentCurrency:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        notes:
          type: string
          nullable: true
        orderId:
          type: string
          nullable: true
        viewedAt:
          type: number
          nullable: true
          description: First time the payer opened the pay page (epoch ms).
        paymentStartedAt:
          type: number
          nullable: true
          description: When the payer accepted and the order was created (epoch ms).
        createdAt:
          type: number
        updatedAt:
          type: number
        expiresAt:
          type: number
          nullable: true
        settlement:
          type: object
          properties:
            status:
              type: string
              nullable: true
              description: Status of the linked payment order.
            originAmount:
              type: number
              nullable: true
            originCurrency:
              type: string
              nullable: true
          required:
            - status
            - originAmount
            - originCurrency
          additionalProperties: false
      required:
        - paymentRequestId
        - type
        - status
        - recipient
        - destinationLabel
        - requestedAmount
        - requestedCurrency
        - lockedPaymentCurrency
        - description
        - notes
        - orderId
        - viewedAt
        - paymentStartedAt
        - createdAt
        - updatedAt
        - expiresAt
      additionalProperties: false
    CreateWebhookEndpointRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 100
          description: Human-readable label for this endpoint, e.g. "Production"
          example: Production
        url:
          type: string
          format: uri
          description: HTTPS URL that will receive webhook POST requests
          example: https://api.example.com/webhooks/virtuabroker
        secret:
          type: string
          minLength: 8
          description: >-
            Signing secret used to compute the X-VirtuaBroker-Signature-256
            header. Store this securely — it is never returned after creation.
          example: whsec_my_very_secret_key
      required:
        - name
        - url
        - secret
    UpdateWebhookEndpointRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 100
        url:
          type: string
          format: uri
        secret:
          type: string
          minLength: 8
        isActive:
          type: boolean
    WebhookEndpointResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        url:
          type: string
          format: uri
        isActive:
          type: boolean
        createdAt:
          type: number
        updatedAt:
          type: number
      required:
        - id
        - name
        - url
        - isActive
        - createdAt
        - updatedAt
      description: Webhook endpoint — secret is never included in responses
      example:
        id: abc123def456
        name: Production
        url: https://api.example.com/webhooks/virtuabroker
        isActive: true
        createdAt: 1704067200000
        updatedAt: 1704067200000
    ResendWebhookRequest:
      type: object
      properties:
        entityType:
          type: string
          enum:
            - order
            - deposit
          description: Type of entity to resend the webhook for
          example: order
        entityId:
          type: string
          minLength: 1
          description: ID of the order or deposit
          example: ABC123DEF456
        webhookType:
          type: string
          enum:
            - verification_status_updated
            - order_status_updated
            - order_completed
            - deposit_completed
            - deposit_partially_completed
            - deposit_method_created
            - deposit_method_activated
            - trade_completed
            - trade_partially_completed
            - withdrawal_completed
            - withdrawal_partially_completed
            - offramp_completed
            - offramp_partially_completed
            - balance_updated
            - wallet_deposit_completed
            - openbanking_status_updated
            - compliance_case_pending_action
            - compliance_case_updated
            - conversation_created
            - conversation_updated
            - conversation_message_created
            - pending_payment_created_or_detected
            - pending_payment_updated
            - deposit_action_required
          description: >-
            Override the webhook event type; defaults to the most recent type
            for the entity
      required:
        - entityType
        - entityId
    CreateDepositMethodRequest:
      type: object
      properties:
        accountId:
          type: string
          minLength: 1
          description: Account id that will own the deposit method
        userData:
          oneOf:
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - individual
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: >-
                    Last name of the user making the deposit (or representative
                    for business)
                  examples:
                    - Doe
                    - Smith
                    - Johnson
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - firstName
                - userEmail
                - country
            - type: object
              properties:
                userType:
                  type: string
                  enum:
                    - business
                businessName:
                  type: string
                  maxLength: 150
                  description: Business name (required when userType is business)
                  examples:
                    - Acme Corp
                    - Tech Solutions Inc
                    - Global Services Ltd
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 50
                  description: >-
                    First name of the user making the deposit (or representative
                    for business)
                  examples:
                    - John
                    - Alice
                    - Bob
                userEmail:
                  type: string
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the deposit
                  examples:
                    - user@virtuabroker.com
                    - john.doe@example.com
                    - alice@example.com
                address:
                  type: string
                  maxLength: 150
                  description: Address of the user making the deposit
                  examples:
                    - 123 Main St, Anytown, ES
                    - 456 Elm St, Anytown, ES
                    - 789 Oak St, Anytown, ES
                taxDocumentType:
                  type: string
                  maxLength: 50
                  description: >-
                    Tax document type of the user making the deposit. Common
                    values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF, but any string
                    is accepted.
                  examples:
                    - CC
                    - NIT
                    - CE
                    - NIF
                    - Other
                taxId:
                  type: string
                  maxLength: 30
                  description: Tax ID of the user making the deposit
                  examples:
                    - 123-45-6789
                    - 987-65-4321
                    - 111-22-3333
                country:
                  type: string
                  enum:
                    - US
                    - CA
                    - GB
                    - DE
                    - FR
                    - AU
                    - JP
                    - KR
                    - SE
                    - 'NO'
                    - DK
                    - FI
                    - NL
                    - BE
                    - CH
                    - AT
                    - NZ
                    - SG
                    - IE
                    - LU
                    - PT
                    - ES
                    - IT
                    - GR
                    - CZ
                    - PL
                    - HU
                    - SK
                    - SI
                    - EE
                    - LT
                    - LV
                    - IS
                    - MT
                    - CY
                    - HR
                    - RO
                    - BG
                    - BR
                    - AR
                    - CL
                    - MX
                    - CO
                    - PE
                    - PA
                    - UY
                    - BO
                    - ZA
                    - NG
                    - KE
                    - GH
                    - TZ
                    - UG
                    - RW
                    - MW
                    - ZM
                    - BW
                    - CD
                    - CI
                    - CM
                    - IL
                    - AE
                    - QA
                    - SA
                    - OM
                    - KW
                    - BH
                    - MY
                    - PH
                    - TH
                    - VN
                    - ID
                    - IN
                    - LK
                    - NP
                    - BD
                    - PK
                    - EG
                    - MA
                    - DZ
                    - TN
                    - JO
                    - LB
                    - TR
                    - KH
                    - MM
                    - LA
                    - EN
                    - BT
                    - VE
                    - TW
                    - HK
                    - CN
                  description: Country code of the user making the deposit
                  examples:
                    - ES
                    - US
                    - GB
                state:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: State of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                postalCode:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Postal code of the user making the deposit
                  examples:
                    - '12345'
                    - '67890'
                    - abcde
                city:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: City of the user making the deposit
                  examples:
                    - Madrid
                    - New York
                    - London
                dob:
                  type: string
                  minLength: 1
                  maxLength: 30
                  description: Date of birth of the user making the deposit
                  examples:
                    - '1990-01-01'
                    - '1995-05-15'
                    - '1988-12-31'
                phoneNumber:
                  type: string
                  maxLength: 30
                  description: Phone number of the user making the deposit
                  examples:
                    - '+447700900123'
                    - '+447700900456'
                    - '+447700900789'
                kycId:
                  type: string
                  minLength: 1
                  maxLength: 300
                  description: >-
                    KYC ID of the user making the deposit on your platform (if
                    the KYC is done by you, add the url)
                  examples:
                    - kyc-12345
                    - kyc-67890
                    - kyc-abcde
                activity:
                  type: string
                  description: Activity of the user making the deposit
                  examples:
                    - worker
                    - business
                    - student
              required:
                - userType
                - businessName
                - firstName
                - userEmail
                - country
          description: >-
            Personal data of the account owner used to provision fiat deposit
            methods (address, city, postalCode, country...). Same shape as the
            order destinationUserData. Fields provided here take precedence over
            data already on file.
        methodType:
          type: string
          enum:
            - crypto
            - fiat
          default: crypto
          description: Deposit method type
        currency:
          anyOf:
            - type: string
              enum:
                - EUR
                - USD
                - GBP
                - BRL
                - MXN
                - ARS
                - COP
                - PEN
                - NGN
                - KES
                - TZS
                - UGX
                - RWF
                - MWK
                - ZMW
                - XOF
                - XAF
                - BWP
            - type: string
              enum:
                - USDC
                - USDT
                - CUSD
                - BTC
                - ETH
                - POL
                - SOL
                - TRX
                - AVAX
                - XRP
                - BNB
            - type: string
              enum:
                - USD
            - type: string
              enum:
                - GBP
          description: Currency for the deposit method
        network:
          type: string
          enum:
            - BALANCE
            - SEPA
            - BTC
            - ETH
            - MATIC
            - POLYGON
            - CELO
            - TRON
            - SOLANA
            - ARBITRUM
            - OPTIMISM
            - AVALANCHE
            - BSC
            - BASE
            - XRP
            - PIX_BR
            - UPI
            - IMPS
            - TRY_BANK_TRANSFER
            - AED_BANK_TRANSFER
            - SPEI
            - IDR_BANK_TRANSFER
            - CREDIT_CARD
            - THAI_QR
            - VIET_QR
            - GCASH
            - ARGENTINA_BANK_TRANSFER
            - PSE
            - CLABE
            - PIX
            - BANK_DEPOSIT_COL
            - BANK_DEPOSIT_AR
            - BANK_DEPOSIT_CL
            - BANK_DEPOSIT_PE
            - BANK_DEPOSIT_BO
            - BANK_DEPOSIT_BR
            - BANK_DEPOSIT_NG
            - BANK_DEPOSIT_KE
            - BANK_DEPOSIT_GH
            - BANK_DEPOSIT_ZA
            - BANK_DEPOSIT_TZ
            - BANK_DEPOSIT_UG
            - BANK_DEPOSIT_RW
            - BANK_DEPOSIT_MW
            - BANK_DEPOSIT_ZM
            - BANK_DEPOSIT_BW
            - BANK_DEPOSIT_CD
            - BANK_DEPOSIT_XOF
            - BANK_DEPOSIT_XAF
            - MOBILE_MONEY_NG
            - MOBILE_MONEY_KE
            - MOBILE_MONEY_GH
            - MOBILE_MONEY_ZA
            - MOBILE_MONEY_TZ
            - MOBILE_MONEY_UG
            - MOBILE_MONEY_RW
            - MOBILE_MONEY_MW
            - MOBILE_MONEY_ZM
            - MOBILE_MONEY_BW
            - MOBILE_MONEY_CD
            - MOBILE_MONEY_XOF
            - MOBILE_MONEY_XAF
            - ACH_US
            - GBP_BANK_TRANSFER
          description: Network/rail for crypto deposit methods
      required:
        - accountId
        - currency
      description: Request schema for creating a deposit method (generic)
    CreateDepositMethodResponse:
      type: object
      properties:
        methodId:
          type: string
          description: Deposit method id
        methodType:
          type: string
          enum:
            - crypto
            - fiat
          description: Normalized deposit method type
        currency:
          type: string
          description: Currency of the deposit method
        network:
          type: string
          description: Network for crypto deposit methods
        status:
          type: string
          enum:
            - ACTIVE
            - PENDING
          description: Normalized deposit method status
        depositInfo:
          oneOf:
            - type: object
              properties:
                address:
                  type: string
                  minLength: 1
                  description: Crypto wallet address
                  example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                network:
                  type: string
                  enum:
                    - MATIC
                    - ETH
                    - CELO
                    - TRON
                    - BTC
                    - SOLANA
                    - XRP
                    - CARDANO
                    - BSC
                    - ARBITRUM
                    - OPTIMISM
                    - AVALANCHE
                    - BASE
                  description: Network for the deposit for crypto deposits
                  examples:
                    - ETH
                    - MATIC
                    - CELO
                memo:
                  type: string
                  description: Optional memo for the transaction
                  example: Payment for services
                depositType:
                  type: string
                  enum:
                    - CRYPTO
                qrCode:
                  type: string
                  description: Base64-encoded QR image for the deposit address
                  example: >-
                    iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                qrCodeUrl:
                  type: string
                  format: uri
                  description: 7-day signed GCS URL of the QR code PNG
                qrCodeExpiresAt:
                  type: number
                  description: Unix timestamp (ms) when qrCodeUrl expires
                receivingAddress:
                  type: string
                  description: The wallet address where funds should be sent
                  example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                tokenContract:
                  type: string
                  description: The ERC20 token contract address
                  example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                decimals:
                  type: number
                  description: Token decimals (default 18)
                  example: 18
              required:
                - address
                - network
                - depositType
              description: Crypto Deposit Information
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - SEPA
                accountHolder:
                  type: string
                  description: Account holder name
                iban:
                  type: string
                  description: SEPA Bank Account Number
                bic:
                  type: string
                  description: Bank BIC/SWIFT code
                accountNumber:
                  type: string
                  description: Bank account number
                bankName:
                  type: string
                  description: Name of the bank
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                referenceCode:
                  type: string
                  minLength: 1
                  description: >-
                    Payment reference the payer must include in the transfer.
                    Present when this account is a shared collection account,
                    where the reference (not the account number) is what
                    attributes an incoming payment. Absent when the account is
                    dedicated to this deposit method, in which case the
                    coordinates alone identify it. When present it is mandatory:
                    a transfer that omits it cannot be attributed automatically.
              required:
                - depositType
                - iban
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - ACH_US
                routingNumber:
                  type: string
                  description: US bank ABA routing number
                accountNumber:
                  type: string
                  description: US bank account number
                beneficiaryName:
                  type: string
                  description: Beneficiary name on the account
                bankName:
                  type: string
                  description: Name of the bank
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names (e.g. ACH, Wire)
              required:
                - depositType
                - routingNumber
                - accountNumber
                - beneficiaryName
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - GBP_BANK_TRANSFER
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: UK bank account number
                sortCode:
                  type: string
                  description: UK sort code
                bankName:
                  type: string
                  description: Name of the bank
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                schemes:
                  type: array
                  items:
                    type: string
                  description: >-
                    Accepted payment scheme names (e.g. Faster Payments, CHAPS,
                    BACS)
              required:
                - depositType
                - accountNumber
                - sortCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - LOCALBANK
                accountHolder:
                  type: string
                  description: Account holder name
                accountNumber:
                  type: string
                  description: Local bank account number
                bankName:
                  type: string
                  description: Bank name
                bankCountry:
                  type: string
                  description: ISO-3166 country code
                routingCodes:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Routing code type (e.g. "routing_number", "sort_code")
                      value:
                        type: string
                        description: Routing code value
                    required:
                      - type
                      - value
                  description: Routing identifiers (e.g. sort code, routing number)
                schemes:
                  type: array
                  items:
                    type: string
                  description: Accepted payment scheme names for this account
              required:
                - depositType
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - PIX
                qrCodeString:
                  type: string
                  minLength: 1
                  description: >-
                    Pix copia-e-cola payload (EMV BR Code text) the payer pastes
                    into their bank app; the payer enters the amount
                base64QRCode:
                  type: string
                  minLength: 1
                  description: >-
                    The same payload rendered as a PNG, raw base64 (no data-URI
                    prefix)
              required:
                - depositType
                - qrCodeString
                - base64QRCode
            - type: object
              properties:
                depositType:
                  type: string
                  enum:
                    - PENDING
                currency:
                  type: string
                  description: Currency of the deposit method
              required:
                - depositType
                - currency
            - type: object
              properties:
                url:
                  type: string
                  description: URL of the PSE payment
                amountPrefilled:
                  type: boolean
                  description: >-
                    Whether the payment page already carries the amount. When
                    false or absent, the payer must enter it.
                depositType:
                  type: string
                  enum:
                    - PSE
                  description: Type of the deposit
              required:
                - url
                - depositType
          description: Deposit instructions for the method when available
        createdAt:
          type: number
          description: Creation timestamp
        updatedAt:
          type: number
          description: Last update timestamp
      required:
        - methodId
        - methodType
        - currency
        - status
      description: Response schema for creating a generic deposit method
    UpdateOrderRequest:
      type: object
      properties:
        orderId:
          type: string
          description: ID of the order to update
        externalId:
          type: string
          description: External reference ID for this order.
        status:
          type: string
          enum:
            - Completed
            - Failed
          description: Status of the order. Only Completed or Failed are allowed
        error:
          type: string
          description: Error message in case the status is FAILED
        errorId:
          type: number
          description: Error code in case the status is FAILED
        errorDescription:
          type: string
          description: Error description in case the status is FAILED
        amount:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: Final settled amount
        fee:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: Settlement fee
        price:
          type: number
          minimum: 0
          exclusiveMinimum: true
          description: Final conversion rate price
      required:
        - orderId
        - externalId
        - amount
        - fee
        - price
      description: Request schema for updating a settled order
    UpdateDepositRequest:
      type: object
      properties:
        depositId:
          type: string
          description: ID of the order to update
        status:
          type: string
          enum:
            - Canceled
          description: Status of the order. Only Canceled is allowed
      required:
        - depositId
        - status
      description: Request schema for updating an offramped order
    AvailableCurrenciesResponse:
      type: object
      properties:
        availableOriginCurrencies:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Full currency name
              symbol:
                type: string
                description: Currency symbol/code
              countries:
                type: array
                items:
                  type: string
                description: Countries where the currency is used
              imageUrl:
                type: string
                description: URL to the currency icon
              networks:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Network display name
                    id:
                      type: string
                      description: Network identifier
                    iconUrl:
                      type: string
                      description: URL to the network icon
                    needsMemo:
                      type: boolean
                      description: Whether a memo/tag is required for this network
                    regex:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: string
                      description: Client-side validation patterns keyed by field name
                    chainId:
                      type: number
                      description: EVM chain id (mainnet)
                    chainIdTestnet:
                      type: number
                      description: EVM chain id (testnet)
                    decimals:
                      type: number
                      description: Token decimals on this network
                    depositRail:
                      type: string
                      description: Deposit rail identifier to pass to provisioning
                  required:
                    - name
                    - id
                    - iconUrl
                  description: Network configuration for a currency
                description: Networks available for this currency (crypto/rail)
              contractAddresses:
                type: object
                properties:
                  mainnet:
                    type: string
                  sepolia:
                    type: string
                  celo-sepolia:
                    type: string
                description: Token contract addresses per environment (crypto currencies)
              originTransferMethods:
                type: array
                items:
                  type: string
                description: >-
                  Available deposit (payin) methods — camelCase
                  OriginTransferMethods values
              destinationTransferMethods:
                type: array
                items:
                  type: string
                description: >-
                  Available payout methods — camelCase
                  DestinationTransferMethods values
              priceDigits:
                type: number
                description: Decimal places for price display
              amountDigits:
                type: number
                description: Decimal places for amount input
              type:
                type: string
                enum:
                  - fiat
                  - crypto
                description: Type of currency (fiat or crypto)
            required:
              - name
              - symbol
              - countries
              - imageUrl
              - originTransferMethods
              - destinationTransferMethods
              - priceDigits
              - amountDigits
            description: Currency configuration and capabilities
          description: Currencies usable as the origin (payin) of an order/deposit
        availableDestinationCurrencies:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Full currency name
              symbol:
                type: string
                description: Currency symbol/code
              countries:
                type: array
                items:
                  type: string
                description: Countries where the currency is used
              imageUrl:
                type: string
                description: URL to the currency icon
              networks:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Network display name
                    id:
                      type: string
                      description: Network identifier
                    iconUrl:
                      type: string
                      description: URL to the network icon
                    needsMemo:
                      type: boolean
                      description: Whether a memo/tag is required for this network
                    regex:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: string
                      description: Client-side validation patterns keyed by field name
                    chainId:
                      type: number
                      description: EVM chain id (mainnet)
                    chainIdTestnet:
                      type: number
                      description: EVM chain id (testnet)
                    decimals:
                      type: number
                      description: Token decimals on this network
                    depositRail:
                      type: string
                      description: Deposit rail identifier to pass to provisioning
                  required:
                    - name
                    - id
                    - iconUrl
                  description: Network configuration for a currency
                description: Networks available for this currency (crypto/rail)
              contractAddresses:
                type: object
                properties:
                  mainnet:
                    type: string
                  sepolia:
                    type: string
                  celo-sepolia:
                    type: string
                description: Token contract addresses per environment (crypto currencies)
              originTransferMethods:
                type: array
                items:
                  type: string
                description: >-
                  Available deposit (payin) methods — camelCase
                  OriginTransferMethods values
              destinationTransferMethods:
                type: array
                items:
                  type: string
                description: >-
                  Available payout methods — camelCase
                  DestinationTransferMethods values
              priceDigits:
                type: number
                description: Decimal places for price display
              amountDigits:
                type: number
                description: Decimal places for amount input
              type:
                type: string
                enum:
                  - fiat
                  - crypto
                description: Type of currency (fiat or crypto)
            required:
              - name
              - symbol
              - countries
              - imageUrl
              - originTransferMethods
              - destinationTransferMethods
              - priceDigits
              - amountDigits
            description: Currency configuration and capabilities
          description: Currencies usable as the destination (payout) of an order/withdrawal
        availableOriginCountries:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Country name
              code:
                type: string
                description: ISO-3166 alpha-2 country code
              imageUrl:
                type: string
                description: URL to the country flag image
              currencies:
                type: array
                items:
                  type: string
                description: Currency codes used in this country
            required:
              - name
              - code
              - imageUrl
              - currencies
            description: Country configuration
          description: Countries derived from the available origin currencies
        availableDestinationCountries:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Country name
              code:
                type: string
                description: ISO-3166 alpha-2 country code
              imageUrl:
                type: string
                description: URL to the country flag image
              currencies:
                type: array
                items:
                  type: string
                description: Currency codes used in this country
            required:
              - name
              - code
              - imageUrl
              - currencies
            description: Country configuration
          description: Countries derived from the available destination currencies
        holdableCurrencies:
          type: array
          items:
            type: string
          description: >-
            Currencies the workspace can hold as an internal balance. Anything
            available but not listed here is rail-only (payin/payout, settles to
            a held currency).
        exchangeableDestinationsByCurrency:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
            description: Holdable destination currency codes reachable from this origin
          description: >-
            For each holdable origin currency, the holdable destination
            currencies it can currently be exchanged into over a live trading
            path of at most 2 hops. The relation is pairwise, not transitive:
            offer only the origin-to-destination pairs listed here. Omitted when
            the signal was not computed; an empty object means nothing is
            currently exchangeable.
      required:
        - availableOriginCurrencies
        - availableDestinationCurrencies
        - availableOriginCountries
        - availableDestinationCountries
      description: >-
        Available origin/destination currencies + countries for the workspace,
        plus the holdable-currency and exchangeable-destinations capability
        signals
    CurrencyNetworksResponse:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            description: Opaque network identifier to pass back on a payout
          name:
            type: string
            description: Display name of the destination network
          type:
            type: string
            enum:
              - bank
              - momo
            description: Whether the network is a bank or a mobile-money provider
        required:
          - id
          - name
          - type
        additionalProperties: false
        description: A payout network available for a local-currency corridor
    CurrencyTransferLimitsResponse:
      type: object
      nullable: true
      properties:
        min:
          type: number
          description: >-
            Minimum per-transaction payout amount in the destination currency
            (major units); omitted if no floor applies
          example: 1000
        max:
          type: number
          description: >-
            Maximum per-transaction payout amount in the destination currency
            (major units); omitted if no ceiling applies
          example: 5000000
        currency:
          type: string
          description: Currency the limits are expressed in
          example: NGN
      required:
        - currency
      description: >-
        Per-transaction payout limits for a (destination currency, method)
        corridor; null when no published limits exist
    DestinationSchemaResponse:
      type: object
      properties:
        corridor:
          type: object
          properties:
            currency:
              type: string
              description: The currency this corridor describes
            direction:
              type: string
              enum:
                - payin
                - payout
              description: >-
                Whether this corridor collects money (`payin`) or pays it out
                (`payout`)
            candidates:
              type: array
              items:
                type: object
                properties:
                  party:
                    type: string
                    enum:
                      - first_party
                      - third_party
                    description: >-
                      Whose money moves. `first_party` is the entity that owns
                      the account; `third_party` is a counterparty — a payout
                      recipient, or a payer sending into a shared collection
                      account.
                  payerIdentity:
                    type: string
                    enum:
                      - none
                      - declared
                      - verified
                    description: >-
                      How deeply the payer must be identified. `none` — nothing
                      collected. `declared` — identity data submitted with the
                      transaction, no verification flow. `verified` — documents
                      plus approval.
                  receiverIdentity:
                    type: string
                    enum:
                      - none
                      - declared
                      - verified
                    description: >-
                      How deeply the receiver must be identified, on the same
                      scale as `payerIdentity`
                  methods:
                    type: array
                    items:
                      type: string
                    description: >-
                      Methods this candidate alone can service — a subset of the
                      corridor-wide `methods`
                  settledWith:
                    type: string
                    description: >-
                      Held currency this candidate settles into, e.g. `USDC`.
                      Informational: it never changes what you send or what the
                      recipient gets.
                  collectionModel:
                    type: string
                    enum:
                      - shared_account
                      - per_user
                      - per_transaction
                      - linked_account_pull
                    description: >-
                      How a payin is funded. `shared_account` — one collection
                      account with a reference per payment. `per_user` — a
                      dedicated account per account holder. `per_transaction` —
                      fresh details issued for each payment.
                      `linked_account_pull` — no details to send to: the funds
                      are debited from a bank account the account holder linked.
                required:
                  - party
                  - payerIdentity
                  - receiverIdentity
                  - methods
                additionalProperties: false
              description: >-
                The routes that can service this corridor, in fallback order.
                More than one means the corridor has redundancy.
            methods:
              type: array
              items:
                type: string
              description: >-
                Every method available on this corridor — the union across all
                candidates. Compare with a candidate’s own `methods`, which is
                only what that route supports.
            requiresIdentity:
              type: boolean
              description: >-
                True when at least one candidate needs payer or receiver
                identity
          required:
            - currency
            - direction
            - candidates
            - methods
            - requiresIdentity
          additionalProperties: false
          description: Abstract corridor descriptor (no provider names)
        method:
          type: string
          description: The payout method this schema describes
        fields:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Field name to submit on the payout
              type:
                type: string
                enum:
                  - text
                  - number
                  - tel
                description: Input type hint for rendering
              required:
                type: boolean
                description: Whether the field is mandatory
              regex:
                type: array
                items:
                  type: string
                description: Accepted patterns (value must match at least one)
              options:
                type: array
                items:
                  type: object
                  properties:
                    value:
                      type: string
                      description: Option value submitted on payout
                    label:
                      type: string
                      description: Option label (may itself be an i18n key)
                    i18nKey:
                      type: string
                      description: >-
                        Optional i18n key for the option label — the client
                        resolves it
                  required:
                    - value
                    - label
                  additionalProperties: false
                description: Fixed select options, when applicable
              widget:
                type: string
                enum:
                  - network
                description: >-
                  When "network", render a picker fed by GET
                  /v1/currencies/:currency/networks
              i18nKey:
                type: string
                description: Locale-agnostic i18n key — the client resolves the label
              validator:
                type: string
                enum:
                  - iban
                  - clabe
                description: Named client-side validator to run in addition to regex
              normalize:
                type: string
                enum:
                  - stripSpacesUpper
                  - upper
                description: Normalization the client applies before validating/submitting
            required:
              - name
              - type
              - required
              - regex
              - i18nKey
            additionalProperties: false
            description: A single payout field descriptor
          description: Ordered list of fields to collect for the payout
        supportsNetworkDiscovery:
          type: boolean
          description: >-
            Whether GET /v1/currencies/:currency/networks returns networks for
            this corridor
        networkDiscoveryRail:
          type: string
          description: Rail to pass to /networks?rail= for this method, when applicable
        destinationType:
          type: string
          description: >-
            The value to send as `destinationTransferData.type` when you create
            the order or withdrawal for this method — the SCREAMING_SNAKE rail
            literal, not the camelCase `method` above (e.g. `BANK_DEPOSIT_VEN`
            for method `bankDepositVEN`). Present on every response this
            endpoint returns: it serves fiat payout corridors and each one has a
            rail literal. The field is declared optional because the derivation
            omits an ambiguous method rather than guessing one — `cryptoWallet`
            is the only ambiguous method and no fiat payout corridor exposes it.
            For a **crypto** payout take the chain literal from the `type` enum
            of `destinationTransferData` itself (`ETH`, `MATIC`, `TRON`, `SOL`,
            …), which lists every accepted value.
          example: BANK_DEPOSIT_VEN
      required:
        - corridor
        - method
        - fields
        - supportsNetworkDiscovery
      additionalProperties: false
      description: Payout field schema for a (currency, method) corridor
    PayinSchemaResponse:
      type: object
      properties:
        corridor:
          type: object
          properties:
            currency:
              type: string
              description: The currency this corridor describes
            direction:
              type: string
              enum:
                - payin
                - payout
              description: >-
                Whether this corridor collects money (`payin`) or pays it out
                (`payout`)
            candidates:
              type: array
              items:
                type: object
                properties:
                  party:
                    type: string
                    enum:
                      - first_party
                      - third_party
                    description: >-
                      Whose money moves. `first_party` is the entity that owns
                      the account; `third_party` is a counterparty — a payout
                      recipient, or a payer sending into a shared collection
                      account.
                  payerIdentity:
                    type: string
                    enum:
                      - none
                      - declared
                      - verified
                    description: >-
                      How deeply the payer must be identified. `none` — nothing
                      collected. `declared` — identity data submitted with the
                      transaction, no verification flow. `verified` — documents
                      plus approval.
                  receiverIdentity:
                    type: string
                    enum:
                      - none
                      - declared
                      - verified
                    description: >-
                      How deeply the receiver must be identified, on the same
                      scale as `payerIdentity`
                  methods:
                    type: array
                    items:
                      type: string
                    description: >-
                      Methods this candidate alone can service — a subset of the
                      corridor-wide `methods`
                  settledWith:
                    type: string
                    description: >-
                      Held currency this candidate settles into, e.g. `USDC`.
                      Informational: it never changes what you send or what the
                      recipient gets.
                  collectionModel:
                    type: string
                    enum:
                      - shared_account
                      - per_user
                      - per_transaction
                      - linked_account_pull
                    description: >-
                      How a payin is funded. `shared_account` — one collection
                      account with a reference per payment. `per_user` — a
                      dedicated account per account holder. `per_transaction` —
                      fresh details issued for each payment.
                      `linked_account_pull` — no details to send to: the funds
                      are debited from a bank account the account holder linked.
                required:
                  - party
                  - payerIdentity
                  - receiverIdentity
                  - methods
                additionalProperties: false
              description: >-
                The routes that can service this corridor, in fallback order.
                More than one means the corridor has redundancy.
            methods:
              type: array
              items:
                type: string
              description: >-
                Every method available on this corridor — the union across all
                candidates. Compare with a candidate’s own `methods`, which is
                only what that route supports.
            requiresIdentity:
              type: boolean
              description: >-
                True when at least one candidate needs payer or receiver
                identity
          required:
            - currency
            - direction
            - candidates
            - methods
            - requiresIdentity
          additionalProperties: false
          description: Abstract corridor descriptor (no provider names)
        payinModels:
          type: array
          items:
            type: string
            enum:
              - per_user
              - shared_account
              - per_transaction
              - linked_account_pull
          description: >-
            Deterministic union of collection models across payin providers
            (declaration order)
        payinModel:
          type: string
          nullable: true
          enum:
            - per_user
            - shared_account
            - per_transaction
            - linked_account_pull
          description: >-
            Primary (declaration-order head) collection model — provisional when
            primaryProviderOnly is true
        originMethods:
          type: array
          items:
            type: string
          description: Origin (collection) methods the customer may use to deposit
        payinMethods:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - bank
                  - mobileMoney
                  - pix
              rail:
                type: string
            required:
              - type
              - rail
          description: >-
            Payer-facing collection channels: abstract channel type plus the
            canonical originRail to send on a quote. Empty when the corridor
            declares no per-currency rail (EUR/USD/GBP, crypto) — those are
            unguarded and you may pick your own rail.
        acceptedOriginRails:
          type: array
          items:
            type: string
          description: >-
            Every originRail a quote will be ACCEPTED with for this currency —
            the canonical rails above plus equivalent spellings of the same
            channel (e.g. ARS accepts BANK_DEPOSIT_AR and
            ARGENTINA_BANK_TRANSFER). Empty means the corridor is unguarded.
            Read this to discover the rail the quote requires instead of
            discovering it through a 400.
        primaryProviderOnly:
          type: boolean
          description: >-
            True when >1 payin provider serves this currency, so payinModel is
            the provisional head
      required:
        - corridor
        - payinModels
        - payinModel
        - originMethods
        - payinMethods
        - acceptedOriginRails
        - primaryProviderOnly
      additionalProperties: false
      description: >-
        Abstract payin schema for a currency (deposit instructions live on the
        order)
    IdentitySchemaResponse:
      type: object
      properties:
        corridor:
          type: object
          properties:
            currency:
              type: string
              description: The currency this corridor describes
            direction:
              type: string
              enum:
                - payin
                - payout
              description: >-
                Whether this corridor collects money (`payin`) or pays it out
                (`payout`)
            candidates:
              type: array
              items:
                type: object
                properties:
                  party:
                    type: string
                    enum:
                      - first_party
                      - third_party
                    description: >-
                      Whose money moves. `first_party` is the entity that owns
                      the account; `third_party` is a counterparty — a payout
                      recipient, or a payer sending into a shared collection
                      account.
                  payerIdentity:
                    type: string
                    enum:
                      - none
                      - declared
                      - verified
                    description: >-
                      How deeply the payer must be identified. `none` — nothing
                      collected. `declared` — identity data submitted with the
                      transaction, no verification flow. `verified` — documents
                      plus approval.
                  receiverIdentity:
                    type: string
                    enum:
                      - none
                      - declared
                      - verified
                    description: >-
                      How deeply the receiver must be identified, on the same
                      scale as `payerIdentity`
                  methods:
                    type: array
                    items:
                      type: string
                    description: >-
                      Methods this candidate alone can service — a subset of the
                      corridor-wide `methods`
                  settledWith:
                    type: string
                    description: >-
                      Held currency this candidate settles into, e.g. `USDC`.
                      Informational: it never changes what you send or what the
                      recipient gets.
                  collectionModel:
                    type: string
                    enum:
                      - shared_account
                      - per_user
                      - per_transaction
                      - linked_account_pull
                    description: >-
                      How a payin is funded. `shared_account` — one collection
                      account with a reference per payment. `per_user` — a
                      dedicated account per account holder. `per_transaction` —
                      fresh details issued for each payment.
                      `linked_account_pull` — no details to send to: the funds
                      are debited from a bank account the account holder linked.
                required:
                  - party
                  - payerIdentity
                  - receiverIdentity
                  - methods
                additionalProperties: false
              description: >-
                The routes that can service this corridor, in fallback order.
                More than one means the corridor has redundancy.
            methods:
              type: array
              items:
                type: string
              description: >-
                Every method available on this corridor — the union across all
                candidates. Compare with a candidate’s own `methods`, which is
                only what that route supports.
            requiresIdentity:
              type: boolean
              description: >-
                True when at least one candidate needs payer or receiver
                identity
          required:
            - currency
            - direction
            - candidates
            - methods
            - requiresIdentity
          additionalProperties: false
          description: Abstract corridor descriptor (no provider names)
        direction:
          type: string
          enum:
            - payin
            - payout
          description: The corridor direction this identity schema describes
        entityType:
          type: string
          enum:
            - individual
            - organisation
          description: The party entity type (KYC vs KYB field set)
        identityFlow:
          type: string
          enum:
            - none
            - declared
            - verified
          description: >-
            Identity depth: none (no identity), declared (collect metadata),
            verified (full KYC/KYB)
        fields:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Field name to submit on the payout
              type:
                type: string
                enum:
                  - text
                  - number
                  - tel
                description: Input type hint for rendering
              required:
                type: boolean
                description: Whether the field is mandatory
              regex:
                type: array
                items:
                  type: string
                description: Accepted patterns (value must match at least one)
              options:
                type: array
                items:
                  type: object
                  properties:
                    value:
                      type: string
                      description: Option value submitted on payout
                    label:
                      type: string
                      description: Option label (may itself be an i18n key)
                    i18nKey:
                      type: string
                      description: >-
                        Optional i18n key for the option label — the client
                        resolves it
                  required:
                    - value
                    - label
                  additionalProperties: false
                description: Fixed select options, when applicable
              widget:
                type: string
                enum:
                  - network
                description: >-
                  When "network", render a picker fed by GET
                  /v1/currencies/:currency/networks
              i18nKey:
                type: string
                description: Locale-agnostic i18n key — the client resolves the label
              validator:
                type: string
                enum:
                  - iban
                  - clabe
                description: Named client-side validator to run in addition to regex
              normalize:
                type: string
                enum:
                  - stripSpacesUpper
                  - upper
                description: Normalization the client applies before validating/submitting
            required:
              - name
              - type
              - required
              - regex
              - i18nKey
            additionalProperties: false
            description: A single payout field descriptor
          description: >-
            Declared-identity metadata fields to collect (empty unless
            identityFlow is "declared")
        requiresWidget:
          type: boolean
          description: >-
            When true, identity is collected via a verification widget (verified
            individual)
        kybIntake:
          type: string
          enum:
            - manual_review
          description: Present for verified organisations — KYB is a manual review intake
      required:
        - corridor
        - direction
        - entityType
        - identityFlow
        - fields
        - requiresWidget
      additionalProperties: false
      description: Per-corridor identity schema for a (currency, direction, entityType)
    DocumentationSchemaResponse:
      type: object
      properties:
        method:
          type: string
          description: The payout method this documentation applies to
        required:
          type: boolean
          description: Whether documentation must be supplied before payout
        fields:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Field name to submit / attach on the payout
              type:
                type: string
                enum:
                  - text
                  - number
                  - tel
                  - file
                  - group
                description: Input type hint for rendering
              required:
                type: boolean
                description: Whether the field is mandatory
              regex:
                type: array
                items:
                  type: string
                description: Accepted patterns (value must match at least one)
              i18nKey:
                type: string
                description: Locale-agnostic i18n key — the client resolves the label
              accept:
                type: array
                items:
                  type: string
                description: >-
                  For file fields: accepted MIME types AND filename extensions
                  (e.g. application/pdf, .pdf) — match on either, since some
                  browsers report an empty file type
              maxSizeMb:
                type: number
                description: 'For file fields: maximum upload size in megabytes'
              options:
                type: array
                items:
                  type: object
                  properties:
                    value:
                      type: string
                      description: Value to submit for this choice
                    label:
                      type: string
                      description: Human-readable fallback label
                    i18nKey:
                      type: string
                      description: i18n key the client resolves in preference to `label`
                  required:
                    - value
                    - label
                description: Fixed select options, when the field is a closed choice
              repeatable:
                type: boolean
                description: >-
                  For group fields: whether the sub-form may be repeated as a
                  list
              min:
                type: number
                description: 'For repeatable group fields: minimum number of entries'
              max:
                type: number
                description: 'For repeatable group fields: maximum number of entries'
              fields:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Field name to submit / attach on the payout
                    type:
                      type: string
                      enum:
                        - text
                        - number
                        - tel
                        - file
                        - group
                      description: Input type hint for rendering
                    required:
                      type: boolean
                      description: Whether the field is mandatory
                    regex:
                      type: array
                      items:
                        type: string
                      description: Accepted patterns (value must match at least one)
                    i18nKey:
                      type: string
                      description: Locale-agnostic i18n key — the client resolves the label
                    accept:
                      type: array
                      items:
                        type: string
                      description: >-
                        For file fields: accepted MIME types AND filename
                        extensions (e.g. application/pdf, .pdf) — match on
                        either, since some browsers report an empty file type
                    maxSizeMb:
                      type: number
                      description: 'For file fields: maximum upload size in megabytes'
                    options:
                      type: array
                      items:
                        type: object
                        properties:
                          value:
                            type: string
                            description: Value to submit for this choice
                          label:
                            type: string
                            description: Human-readable fallback label
                          i18nKey:
                            type: string
                            description: >-
                              i18n key the client resolves in preference to
                              `label`
                        required:
                          - value
                          - label
                      description: Fixed select options, when the field is a closed choice
                    repeatable:
                      type: boolean
                      description: >-
                        For group fields: whether the sub-form may be repeated
                        as a list
                    min:
                      type: number
                      description: 'For repeatable group fields: minimum number of entries'
                    max:
                      type: number
                      description: 'For repeatable group fields: maximum number of entries'
                  required:
                    - name
                    - type
                    - required
                    - regex
                    - i18nKey
                  additionalProperties: false
                description: >-
                  For group fields: the sub-field manifest rendered inside each
                  entry
            required:
              - name
              - type
              - required
              - regex
              - i18nKey
            additionalProperties: false
            description: A single documentation field descriptor for a corridor
          description: Ordered list of documentation fields to collect (empty when none)
        allowsAttachments:
          type: boolean
          description: Whether free-form supporting attachments may be added
        attachmentRequired:
          type: boolean
          description: Whether at least one attachment is mandatory
      required:
        - method
        - required
        - fields
        - allowsAttachments
        - attachmentRequired
      additionalProperties: false
      description: Trade-documentation requirement for a (currency, method) payout corridor
    PayinCountriesResponse:
      type: array
      items:
        type: object
        properties:
          code:
            type: string
            description: ISO-3166 alpha-2 country code
            example: SN
          name:
            type: string
            description: Country name
            example: Senegal
        required:
          - code
          - name
        additionalProperties: false
        description: A payer-selectable collection country for a multi-country currency
      description: >-
        Collection countries a payer may select as origin for a multi-country
        currency (empty for single-country currencies)
    CreateAmlScreeningRequest:
      type: object
      properties:
        entity:
          type: object
          properties:
            entityType:
              type: string
              enum:
                - INDIVIDUAL
                - COMPANY
              description: Whether the subject is a natural person or an organisation.
            firstName:
              type: string
              maxLength: 256
              description: Given name of an individual subject.
            lastName:
              type: string
              maxLength: 256
              description: Family name of an individual subject.
            fullName:
              type: string
              maxLength: 256
              description: >-
                Full name of the subject. Accepted for both individuals and
                organisations.
            companyName:
              type: string
              maxLength: 256
              description: Legal name of an organisation subject.
            email:
              type: string
              maxLength: 256
              format: email
              description: Contact email used to resolve an existing verified subject.
            dateOfBirth:
              type: string
              pattern: ^\d{4}-\d{2}-\d{2}$
              description: Date of birth of an individual subject (YYYY-MM-DD).
            nationality:
              type: string
              enum:
                - US
                - CA
                - GB
                - DE
                - FR
                - AU
                - JP
                - KR
                - SE
                - 'NO'
                - DK
                - FI
                - NL
                - BE
                - CH
                - AT
                - NZ
                - SG
                - IE
                - LU
                - PT
                - ES
                - IT
                - GR
                - CZ
                - PL
                - HU
                - SK
                - SI
                - EE
                - LT
                - LV
                - IS
                - MT
                - CY
                - HR
                - RO
                - BG
                - BR
                - AR
                - CL
                - MX
                - CO
                - PE
                - PA
                - UY
                - BO
                - ZA
                - NG
                - KE
                - GH
                - TZ
                - UG
                - RW
                - MW
                - ZM
                - BW
                - CD
                - CI
                - CM
                - IL
                - AE
                - QA
                - SA
                - OM
                - KW
                - BH
                - MY
                - PH
                - TH
                - VN
                - ID
                - IN
                - LK
                - NP
                - BD
                - PK
                - EG
                - MA
                - DZ
                - TN
                - JO
                - LB
                - TR
                - KH
                - MM
                - LA
                - EN
                - BT
                - VE
                - TW
                - HK
                - CN
              description: Nationality of an individual subject (ISO-3166 alpha-2).
            countryOfResidence:
              type: string
              enum:
                - US
                - CA
                - GB
                - DE
                - FR
                - AU
                - JP
                - KR
                - SE
                - 'NO'
                - DK
                - FI
                - NL
                - BE
                - CH
                - AT
                - NZ
                - SG
                - IE
                - LU
                - PT
                - ES
                - IT
                - GR
                - CZ
                - PL
                - HU
                - SK
                - SI
                - EE
                - LT
                - LV
                - IS
                - MT
                - CY
                - HR
                - RO
                - BG
                - BR
                - AR
                - CL
                - MX
                - CO
                - PE
                - PA
                - UY
                - BO
                - ZA
                - NG
                - KE
                - GH
                - TZ
                - UG
                - RW
                - MW
                - ZM
                - BW
                - CD
                - CI
                - CM
                - IL
                - AE
                - QA
                - SA
                - OM
                - KW
                - BH
                - MY
                - PH
                - TH
                - VN
                - ID
                - IN
                - LK
                - NP
                - BD
                - PK
                - EG
                - MA
                - DZ
                - TN
                - JO
                - LB
                - TR
                - KH
                - MM
                - LA
                - EN
                - BT
                - VE
                - TW
                - HK
                - CN
              description: Country of residence of the subject (ISO-3166 alpha-2).
            taxIdentificationNumber:
              type: string
              maxLength: 64
              description: Tax identification number of the subject.
            taxIdentificationType:
              type: string
              enum:
                - NIF
                - NIE
                - CIF
                - VAT
                - OTHER
              description: Type of the supplied tax identification number.
            taxIdentificationCountry:
              type: string
              enum:
                - US
                - CA
                - GB
                - DE
                - FR
                - AU
                - JP
                - KR
                - SE
                - 'NO'
                - DK
                - FI
                - NL
                - BE
                - CH
                - AT
                - NZ
                - SG
                - IE
                - LU
                - PT
                - ES
                - IT
                - GR
                - CZ
                - PL
                - HU
                - SK
                - SI
                - EE
                - LT
                - LV
                - IS
                - MT
                - CY
                - HR
                - RO
                - BG
                - BR
                - AR
                - CL
                - MX
                - CO
                - PE
                - PA
                - UY
                - BO
                - ZA
                - NG
                - KE
                - GH
                - TZ
                - UG
                - RW
                - MW
                - ZM
                - BW
                - CD
                - CI
                - CM
                - IL
                - AE
                - QA
                - SA
                - OM
                - KW
                - BH
                - MY
                - PH
                - TH
                - VN
                - ID
                - IN
                - LK
                - NP
                - BD
                - PK
                - EG
                - MA
                - DZ
                - TN
                - JO
                - LB
                - TR
                - KH
                - MM
                - LA
                - EN
                - BT
                - VE
                - TW
                - HK
                - CN
              description: >-
                Issuing country of the tax identification number (ISO-3166
                alpha-2).
            documentNumber:
              type: string
              maxLength: 64
              description: Identity document number of an individual subject.
            documentType:
              type: string
              maxLength: 64
              description: Type of the supplied identity document (e.g. passport).
            documentCountry:
              type: string
              enum:
                - US
                - CA
                - GB
                - DE
                - FR
                - AU
                - JP
                - KR
                - SE
                - 'NO'
                - DK
                - FI
                - NL
                - BE
                - CH
                - AT
                - NZ
                - SG
                - IE
                - LU
                - PT
                - ES
                - IT
                - GR
                - CZ
                - PL
                - HU
                - SK
                - SI
                - EE
                - LT
                - LV
                - IS
                - MT
                - CY
                - HR
                - RO
                - BG
                - BR
                - AR
                - CL
                - MX
                - CO
                - PE
                - PA
                - UY
                - BO
                - ZA
                - NG
                - KE
                - GH
                - TZ
                - UG
                - RW
                - MW
                - ZM
                - BW
                - CD
                - CI
                - CM
                - IL
                - AE
                - QA
                - SA
                - OM
                - KW
                - BH
                - MY
                - PH
                - TH
                - VN
                - ID
                - IN
                - LK
                - NP
                - BD
                - PK
                - EG
                - MA
                - DZ
                - TN
                - JO
                - LB
                - TR
                - KH
                - MM
                - LA
                - EN
                - BT
                - VE
                - TW
                - HK
                - CN
              description: Issuing country of the identity document (ISO-3166 alpha-2).
            companyRegistrationNumber:
              type: string
              maxLength: 64
              description: Registration number of an organisation subject.
            accountId:
              type: string
              maxLength: 256
              description: Account in the requesting workspace this subject belongs to.
          required:
            - entityType
          additionalProperties: false
        reason:
          type: string
          enum:
            - ONBOARDING
            - PRE_TRANSACTION
            - MANUAL_CHECK
            - PERIODIC_REVIEW
            - OTHER
          description: Why this screening is being requested.
        reference:
          type: string
          maxLength: 64
          description: Optional client reference echoed back on the response.
      required:
        - entity
        - reason
      additionalProperties: false
      description: Request an AML screening for a single individual or organisation.
      example:
        entity:
          entityType: INDIVIDUAL
          firstName: Jane
          lastName: Doe
          dateOfBirth: '1985-04-12'
          nationality: ES
        reason: ONBOARDING
        reference: case-2026-0042
    AmlScreeningResponse:
      type: object
      properties:
        screeningId:
          type: string
          description: Identifier of the screening record for correlation and lookup.
        reference:
          type: string
          description: The client reference supplied on the request, if any.
        status:
          type: string
          enum:
            - COMPLETED
            - NOT_COMPLETED
            - FAILED
          description: >-
            COMPLETED = a screening ran; NOT_COMPLETED = not run (see
            result/errors); FAILED = the screening could not be performed.
        result:
          type: string
          enum:
            - CLEAR
            - POTENTIAL_MATCH
            - REVIEW_REQUIRED
            - INSUFFICIENT_DATA
            - ERROR
          description: Screening outcome. A potential match is never a confirmed match.
        match:
          type: boolean
          nullable: true
          description: >-
            true = at least one potential match; false = clear; null = no
            definitive screening was performed.
        potentialMatchCount:
          type: integer
          minimum: 0
          description: Number of potential matches surfaced by the screening.
        reviewRequired:
          type: boolean
          description: Whether the outcome requires manual review before proceeding.
        screenedAt:
          type: string
          description: ISO-8601 timestamp of when the screening completed, if it did.
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Stable machine-readable error code.
              message:
                type: string
                description: Human-readable explanation.
            required:
              - code
              - message
          description: >-
            Populated when the screening could not be run (e.g. insufficient
            data).
      required:
        - screeningId
        - status
        - match
        - potentialMatchCount
        - reviewRequired
      description: Result of an AML screening request.
    CreateAmlCheckRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 2
          maxLength: 140
          description: >-
            Full name of the natural or legal person to verify against
            sanctions, PEP and watchlist data.
          example: Pedro Sánchez Pérez-Castejón
        id:
          type: string
          minLength: 3
          maxLength: 32
          description: >-
            Identifier for your records — a Spanish DNI/NIE/NIF/CIF is
            recognised and used to infer the subject type; any other national
            identifier is accepted as-is.
          example: 012345678A
        entityType:
          type: string
          enum:
            - INDIVIDUAL
            - COMPANY
          description: >-
            Subject kind. When omitted it is inferred from the id where
            possible; otherwise the check matches both kinds.
        reference:
          type: string
          minLength: 1
          maxLength: 64
          description: Your correlation reference, echoed back on the response.
      required:
        - name
      additionalProperties: false
    AmlCheckResponse:
      type: object
      properties:
        checkId:
          type: string
        reference:
          type: string
        status:
          type: string
          enum:
            - COMPLETED
            - FAILED
        match:
          type: boolean
          nullable: true
          description: >-
            true = at least one potential match; false = clear; null = the check
            could not be completed and MUST NOT be read as clear.
        matchCount:
          type: integer
          minimum: 0
        checkedAt:
          type: string
          description: ISO 8601
        results:
          type: array
          items:
            type: object
            properties:
              matchId:
                type: string
                description: Stable identifier of the matched list entry.
              name:
                type: string
                description: Name as it appears on the list.
              type:
                type: string
                enum:
                  - PERSON
                  - COMPANY
                  - OTHER
              score:
                type: number
                minimum: 0
                maximum: 1
                description: Match strength between 0 and 1.
              flags:
                type: array
                items:
                  type: string
                  enum:
                    - SANCTIONS
                    - PEP
                    - WATCHLIST
                    - CRIME
                    - OTHER
                description: Why this entry is listed.
              title:
                type: string
                description: Known role or position.
              countries:
                type: array
                items:
                  type: string
                description: Associated countries (ISO 3166-1 alpha-2).
              dateOfBirth:
                type: string
                description: YYYY-MM-DD where known.
            required:
              - matchId
              - name
              - type
              - score
              - flags
              - countries
            additionalProperties: false
          maxItems: 20
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                example: CHECK_NOT_COMPLETED
              message:
                type: string
            required:
              - code
              - message
            additionalProperties: false
          description: >-
            Present when status is FAILED — machine-readable reasons the check
            could not be completed. Retry with a new check; never read a FAILED
            check as clear.
      required:
        - checkId
        - status
        - match
        - matchCount
        - checkedAt
        - results
      additionalProperties: false
    PublicHealthResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - operational
            - degraded
            - down
          description: Overall platform status (the worst of the components).
        components:
          type: object
          properties:
            api:
              type: string
              enum:
                - operational
                - degraded
                - down
              description: The API itself and its core platform infrastructure.
            payments:
              type: string
              enum:
                - operational
                - degraded
                - down
              description: Collecting funds and paying out across the supported rails.
            identity:
              type: string
              enum:
                - operational
                - degraded
                - down
              description: Identity verification (KYC/KYB) processing.
          required:
            - api
            - payments
            - identity
          description: Per-area status.
        updatedAt:
          type: string
          description: ISO-8601 timestamp of the most recent underlying health signal.
          examples:
            - '2026-07-06T12:00:00.000Z'
      required:
        - status
        - components
        - updatedAt
  parameters: {}
paths:
  /v1/pairs:
    get:
      summary: Get available pairs
      description: >-
        Returns the list of currency pairs available for quoting in the
        authenticated workspace (e.g. `EUR/USDC`, `BRL/USDT`). Use these pair
        strings as the `originCurrency`/`destinationCurrency` inputs when
        creating a quote.
      tags:
        - Pairs
      security:
        - oauth2: []
      responses:
        '200':
          description: Successful retrieval of pairs
          content:
            application/json:
              schema:
                type: object
                properties:
                  pairs:
                    type: array
                    items:
                      type: string
                      pattern: ^[A-Z]{3,5}\/[A-Z]{3,5}$
                      description: Currency pair in the format BASE/QUOTE
                    description: List of currency pairs
                required:
                  - pairs
                description: Response schema for getting currency pairs
                example:
                  pairs:
                    - USDT/EUR
                    - USDC/EUR
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: |-
            const res = await fetch("https://api.virtuabroker.com/v1/pairs", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/pairs",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/pairs" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/quotes:
    post:
      summary: Create a quote
      description: >

        Creates a real-time price quote for a currency pair. Quotes are
        **workspace-scoped and user-agnostic** — no customer identity is
        required at this step.


        ### Two-step B2C flow


        **Step 1 — Create a quote** `POST /v1/quotes`


        Provide the currency pair, rails, and either `originAmount` or
        `destinationAmount`. The response includes a `quoteId`, the locked
        exchange rate, expected fees, and expiry time.


        **Step 2 — Create an order** `POST /v1/orders`


        Pass the `quoteId` from step 1 together with the customer's identity in
        `userData.userEmail` (and KYC data if required). This is where the end
        customer is associated with the transaction.


        ### Important


        - Quotes expire after a short window; create the order promptly after
        receiving the quote.
      tags:
        - Quotes
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - type: object
                  properties:
                    originCurrency:
                      anyOf:
                        - type: string
                          enum:
                            - EUR
                            - USD
                            - GBP
                            - BRL
                            - MXN
                            - ARS
                            - COP
                            - PEN
                            - NGN
                            - KES
                            - TZS
                            - UGX
                            - RWF
                            - MWK
                            - ZMW
                            - XOF
                            - XAF
                            - BWP
                        - type: string
                          enum:
                            - USDC
                            - USDT
                            - CUSD
                            - BTC
                            - ETH
                            - POL
                            - SOL
                            - TRX
                            - AVAX
                            - XRP
                            - BNB
                      description: The currency code of the origin currency
                      examples:
                        - EUR
                    originRail:
                      type: string
                      enum:
                        - BALANCE
                        - SEPA
                        - BTC
                        - ETH
                        - MATIC
                        - POLYGON
                        - CELO
                        - TRON
                        - SOLANA
                        - ARBITRUM
                        - OPTIMISM
                        - AVALANCHE
                        - BSC
                        - BASE
                        - XRP
                        - PIX_BR
                        - UPI
                        - IMPS
                        - TRY_BANK_TRANSFER
                        - AED_BANK_TRANSFER
                        - SPEI
                        - IDR_BANK_TRANSFER
                        - CREDIT_CARD
                        - THAI_QR
                        - VIET_QR
                        - GCASH
                        - ARGENTINA_BANK_TRANSFER
                        - PSE
                        - CLABE
                        - PIX
                        - BANK_DEPOSIT_COL
                        - BANK_DEPOSIT_AR
                        - BANK_DEPOSIT_CL
                        - BANK_DEPOSIT_PE
                        - BANK_DEPOSIT_BO
                        - BANK_DEPOSIT_BR
                        - BANK_DEPOSIT_NG
                        - BANK_DEPOSIT_KE
                        - BANK_DEPOSIT_GH
                        - BANK_DEPOSIT_ZA
                        - BANK_DEPOSIT_TZ
                        - BANK_DEPOSIT_UG
                        - BANK_DEPOSIT_RW
                        - BANK_DEPOSIT_MW
                        - BANK_DEPOSIT_ZM
                        - BANK_DEPOSIT_BW
                        - BANK_DEPOSIT_CD
                        - BANK_DEPOSIT_XOF
                        - BANK_DEPOSIT_XAF
                        - MOBILE_MONEY_NG
                        - MOBILE_MONEY_KE
                        - MOBILE_MONEY_GH
                        - MOBILE_MONEY_ZA
                        - MOBILE_MONEY_TZ
                        - MOBILE_MONEY_UG
                        - MOBILE_MONEY_RW
                        - MOBILE_MONEY_MW
                        - MOBILE_MONEY_ZM
                        - MOBILE_MONEY_BW
                        - MOBILE_MONEY_CD
                        - MOBILE_MONEY_XOF
                        - MOBILE_MONEY_XAF
                        - ACH_US
                        - GBP_BANK_TRANSFER
                      description: >-
                        The rail of the origin currency. Crypto origin rails use
                        NETWORK names (e.g. `SOLANA` for SOL, `MATIC` for
                        POL/USDC, `BSC` for BNB).
                    destinationCurrency:
                      type: string
                      enum:
                        - EUR
                        - USD
                        - GBP
                        - BRL
                        - COP
                        - MXN
                        - ARS
                        - CLP
                        - VES
                        - TWD
                        - BOB
                        - PEN
                        - NGN
                        - KES
                        - ZAR
                        - TZS
                        - UGX
                        - RWF
                        - MWK
                        - ZMW
                        - XOF
                        - XAF
                        - BWP
                        - HKD
                        - CNY
                        - USDC
                        - USDT
                        - ETH
                        - BTC
                        - MATIC
                        - SOL
                        - TRX
                        - AVAX
                        - DOT
                        - XRP
                        - POL
                        - ADA
                        - ALGO
                      description: The currency code of the destination currency
                      examples:
                        - VES
                        - BRL
                        - USDC
                    destinationRail:
                      type: string
                      enum:
                        - SEPA
                        - ETH
                        - BTC
                        - MATIC
                        - SOL
                        - TRON
                        - XRP
                        - BSC
                        - AVALANCHE
                        - ARBITRUM
                        - OPTIMISM
                        - PIX_BR
                        - PHONE_DEPOSIT_VEN
                        - PHONE_DEPOSIT_MX
                        - PHONE_DEPOSIT_AR
                        - PHONE_DEPOSIT_IN
                        - PHONE_DEPOSIT_VN
                        - BANK_DEPOSIT_VEN
                        - BANK_DEPOSIT_BR
                        - BANK_DEPOSIT_MX
                        - BALANCE
                        - CELO
                        - BASE
                        - UPI
                        - IMPS
                        - THAI_QR
                        - VIET_QR
                        - GCASH
                        - ARGENTINA_BANK_TRANSFER
                        - PSE
                        - BANK_DEPOSIT_COL
                        - BRE_B_COP
                        - ACH_COP
                        - BANK_DEPOSIT_TW
                        - BANK_DEPOSIT_AR
                        - BANK_DEPOSIT_CL
                        - BANK_DEPOSIT_BO
                        - BANK_DEPOSIT_PE
                        - BANK_DEPOSIT_PEN
                        - BANK_DEPOSIT_NG
                        - BANK_DEPOSIT_KE
                        - BANK_DEPOSIT_GH
                        - BANK_DEPOSIT_ZA
                        - BANK_DEPOSIT_TZ
                        - BANK_DEPOSIT_UG
                        - BANK_DEPOSIT_RW
                        - BANK_DEPOSIT_MW
                        - BANK_DEPOSIT_ZM
                        - BANK_DEPOSIT_BW
                        - BANK_DEPOSIT_CD
                        - BANK_DEPOSIT_XOF
                        - BANK_DEPOSIT_XAF
                        - MOBILE_MONEY_NG
                        - MOBILE_MONEY_KE
                        - MOBILE_MONEY_GH
                        - MOBILE_MONEY_ZA
                        - MOBILE_MONEY_TZ
                        - MOBILE_MONEY_UG
                        - MOBILE_MONEY_RW
                        - MOBILE_MONEY_MW
                        - MOBILE_MONEY_ZM
                        - MOBILE_MONEY_BW
                        - MOBILE_MONEY_CD
                        - MOBILE_MONEY_XOF
                        - MOBILE_MONEY_XAF
                        - BANK_DEPOSIT_HK
                        - BANK_DEPOSIT_CN
                        - GBP_BANK_TRANSFER
                        - ACH_US
                        - LINKED_BANK_ACCOUNT
                      description: >-
                        The rail of the destination currency. Solana is the one
                        asymmetric spelling: use `SOL` here (the origin side
                        uses the network name `SOLANA`) — both refer to the
                        Solana network. Other crypto destination rails use
                        network names (`ETH`, `MATIC`, `TRON`, `XRP`, `BSC`,
                        `AVALANCHE`, `ARBITRUM`, `OPTIMISM`, `BASE`).
                    locale:
                      type: string
                      enum:
                        - en
                        - es
                        - pt
                        - it
                        - fr
                        - de
                      description: The locale of the user
                    customerId:
                      type: string
                      description: >-
                        Account id the quote is for (External API on-behalf
                        quotes)
                      examples:
                        - d290f1ee-6c54-4b01-90e6-d701748f0851
                    customerEmail:
                      type: string
                      description: >-
                        Account email the quote is for (External API on-behalf
                        quotes)
                      examples:
                        - customer@example.com
                    creatorMarkup:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 0.1
                      description: >-
                        Creator markup as a fraction added on top of the
                        workspace fees (App API only)
                    originAmount:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: >-
                        The amount in the origin currency (use either
                        originAmount or destinationAmount)
                      examples:
                        - 100
                        - 250
                        - 500
                  required:
                    - originCurrency
                    - destinationCurrency
                    - originAmount
                  description: >-
                    Quote priced from the amount you send/collect in the origin
                    currency (set `originAmount`).
                  title: QuoteByOriginAmount
                - type: object
                  properties:
                    originCurrency:
                      anyOf:
                        - type: string
                          enum:
                            - EUR
                            - USD
                            - GBP
                            - BRL
                            - MXN
                            - ARS
                            - COP
                            - PEN
                            - NGN
                            - KES
                            - TZS
                            - UGX
                            - RWF
                            - MWK
                            - ZMW
                            - XOF
                            - XAF
                            - BWP
                        - type: string
                          enum:
                            - USDC
                            - USDT
                            - CUSD
                            - BTC
                            - ETH
                            - POL
                            - SOL
                            - TRX
                            - AVAX
                            - XRP
                            - BNB
                      description: The currency code of the origin currency
                      examples:
                        - EUR
                    originRail:
                      type: string
                      enum:
                        - BALANCE
                        - SEPA
                        - BTC
                        - ETH
                        - MATIC
                        - POLYGON
                        - CELO
                        - TRON
                        - SOLANA
                        - ARBITRUM
                        - OPTIMISM
                        - AVALANCHE
                        - BSC
                        - BASE
                        - XRP
                        - PIX_BR
                        - UPI
                        - IMPS
                        - TRY_BANK_TRANSFER
                        - AED_BANK_TRANSFER
                        - SPEI
                        - IDR_BANK_TRANSFER
                        - CREDIT_CARD
                        - THAI_QR
                        - VIET_QR
                        - GCASH
                        - ARGENTINA_BANK_TRANSFER
                        - PSE
                        - CLABE
                        - PIX
                        - BANK_DEPOSIT_COL
                        - BANK_DEPOSIT_AR
                        - BANK_DEPOSIT_CL
                        - BANK_DEPOSIT_PE
                        - BANK_DEPOSIT_BO
                        - BANK_DEPOSIT_BR
                        - BANK_DEPOSIT_NG
                        - BANK_DEPOSIT_KE
                        - BANK_DEPOSIT_GH
                        - BANK_DEPOSIT_ZA
                        - BANK_DEPOSIT_TZ
                        - BANK_DEPOSIT_UG
                        - BANK_DEPOSIT_RW
                        - BANK_DEPOSIT_MW
                        - BANK_DEPOSIT_ZM
                        - BANK_DEPOSIT_BW
                        - BANK_DEPOSIT_CD
                        - BANK_DEPOSIT_XOF
                        - BANK_DEPOSIT_XAF
                        - MOBILE_MONEY_NG
                        - MOBILE_MONEY_KE
                        - MOBILE_MONEY_GH
                        - MOBILE_MONEY_ZA
                        - MOBILE_MONEY_TZ
                        - MOBILE_MONEY_UG
                        - MOBILE_MONEY_RW
                        - MOBILE_MONEY_MW
                        - MOBILE_MONEY_ZM
                        - MOBILE_MONEY_BW
                        - MOBILE_MONEY_CD
                        - MOBILE_MONEY_XOF
                        - MOBILE_MONEY_XAF
                        - ACH_US
                        - GBP_BANK_TRANSFER
                      description: >-
                        The rail of the origin currency. Crypto origin rails use
                        NETWORK names (e.g. `SOLANA` for SOL, `MATIC` for
                        POL/USDC, `BSC` for BNB).
                    destinationCurrency:
                      type: string
                      enum:
                        - EUR
                        - USD
                        - GBP
                        - BRL
                        - COP
                        - MXN
                        - ARS
                        - CLP
                        - VES
                        - TWD
                        - BOB
                        - PEN
                        - NGN
                        - KES
                        - ZAR
                        - TZS
                        - UGX
                        - RWF
                        - MWK
                        - ZMW
                        - XOF
                        - XAF
                        - BWP
                        - HKD
                        - CNY
                        - USDC
                        - USDT
                        - ETH
                        - BTC
                        - MATIC
                        - SOL
                        - TRX
                        - AVAX
                        - DOT
                        - XRP
                        - POL
                        - ADA
                        - ALGO
                      description: The currency code of the destination currency
                      examples:
                        - VES
                        - BRL
                        - USDC
                    destinationRail:
                      type: string
                      enum:
                        - SEPA
                        - ETH
                        - BTC
                        - MATIC
                        - SOL
                        - TRON
                        - XRP
                        - BSC
                        - AVALANCHE
                        - ARBITRUM
                        - OPTIMISM
                        - PIX_BR
                        - PHONE_DEPOSIT_VEN
                        - PHONE_DEPOSIT_MX
                        - PHONE_DEPOSIT_AR
                        - PHONE_DEPOSIT_IN
                        - PHONE_DEPOSIT_VN
                        - BANK_DEPOSIT_VEN
                        - BANK_DEPOSIT_BR
                        - BANK_DEPOSIT_MX
                        - BALANCE
                        - CELO
                        - BASE
                        - UPI
                        - IMPS
                        - THAI_QR
                        - VIET_QR
                        - GCASH
                        - ARGENTINA_BANK_TRANSFER
                        - PSE
                        - BANK_DEPOSIT_COL
                        - BRE_B_COP
                        - ACH_COP
                        - BANK_DEPOSIT_TW
                        - BANK_DEPOSIT_AR
                        - BANK_DEPOSIT_CL
                        - BANK_DEPOSIT_BO
                        - BANK_DEPOSIT_PE
                        - BANK_DEPOSIT_PEN
                        - BANK_DEPOSIT_NG
                        - BANK_DEPOSIT_KE
                        - BANK_DEPOSIT_GH
                        - BANK_DEPOSIT_ZA
                        - BANK_DEPOSIT_TZ
                        - BANK_DEPOSIT_UG
                        - BANK_DEPOSIT_RW
                        - BANK_DEPOSIT_MW
                        - BANK_DEPOSIT_ZM
                        - BANK_DEPOSIT_BW
                        - BANK_DEPOSIT_CD
                        - BANK_DEPOSIT_XOF
                        - BANK_DEPOSIT_XAF
                        - MOBILE_MONEY_NG
                        - MOBILE_MONEY_KE
                        - MOBILE_MONEY_GH
                        - MOBILE_MONEY_ZA
                        - MOBILE_MONEY_TZ
                        - MOBILE_MONEY_UG
                        - MOBILE_MONEY_RW
                        - MOBILE_MONEY_MW
                        - MOBILE_MONEY_ZM
                        - MOBILE_MONEY_BW
                        - MOBILE_MONEY_CD
                        - MOBILE_MONEY_XOF
                        - MOBILE_MONEY_XAF
                        - BANK_DEPOSIT_HK
                        - BANK_DEPOSIT_CN
                        - GBP_BANK_TRANSFER
                        - ACH_US
                        - LINKED_BANK_ACCOUNT
                      description: >-
                        The rail of the destination currency. Solana is the one
                        asymmetric spelling: use `SOL` here (the origin side
                        uses the network name `SOLANA`) — both refer to the
                        Solana network. Other crypto destination rails use
                        network names (`ETH`, `MATIC`, `TRON`, `XRP`, `BSC`,
                        `AVALANCHE`, `ARBITRUM`, `OPTIMISM`, `BASE`).
                    locale:
                      type: string
                      enum:
                        - en
                        - es
                        - pt
                        - it
                        - fr
                        - de
                      description: The locale of the user
                    customerId:
                      type: string
                      description: >-
                        Account id the quote is for (External API on-behalf
                        quotes)
                      examples:
                        - d290f1ee-6c54-4b01-90e6-d701748f0851
                    customerEmail:
                      type: string
                      description: >-
                        Account email the quote is for (External API on-behalf
                        quotes)
                      examples:
                        - customer@example.com
                    creatorMarkup:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 0.1
                      description: >-
                        Creator markup as a fraction added on top of the
                        workspace fees (App API only)
                    destinationAmount:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: The amount in the destination currency
                      examples:
                        - 85
                        - 200
                        - 450
                  required:
                    - originCurrency
                    - destinationCurrency
                    - destinationAmount
                  description: >-
                    Quote priced from the amount the beneficiary receives in the
                    destination currency (set `destinationAmount`).
                  title: QuoteByDestinationAmount
              description: Request schema for creating a quote
      responses:
        '200':
          description: Successful creation of quotes
          content:
            application/json:
              schema:
                type: object
                properties:
                  quoteId:
                    type: string
                    format: uuid
                    description: The unique identifier of the created quote
                    examples:
                      - 123e4567-e89b-12d3-a456-426614174000
                      - 987f6543-a21c-45d6-b789-012345678901
                  originCurrency:
                    anyOf:
                      - type: string
                        enum:
                          - EUR
                          - USD
                          - GBP
                          - BRL
                          - MXN
                          - ARS
                          - COP
                          - PEN
                          - NGN
                          - KES
                          - TZS
                          - UGX
                          - RWF
                          - MWK
                          - ZMW
                          - XOF
                          - XAF
                          - BWP
                      - type: string
                        enum:
                          - USDC
                          - USDT
                          - CUSD
                          - BTC
                          - ETH
                          - POL
                          - SOL
                          - TRX
                          - AVAX
                          - XRP
                          - BNB
                    description: The currency code of the origin currency
                    examples:
                      - EUR
                  originNetwork:
                    type: string
                    enum:
                      - BTC
                      - ETH
                      - MATIC
                      - CELO
                      - SOLANA
                      - TRON
                      - BSC
                      - XRP
                      - ARBITRUM
                      - OPTIMISM
                      - AVALANCHE
                      - BASE
                      - CARDANO
                    description: The network of the origin currency if it is crypto
                    examples:
                      - MATIC
                      - ETH
                  originAmount:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: >-
                      The amount in the origin currency (use either originAmount
                      or destinationAmount)
                    examples:
                      - 100
                      - 250
                      - 500
                  destinationCurrency:
                    type: string
                    enum:
                      - EUR
                      - USD
                      - GBP
                      - BRL
                      - COP
                      - MXN
                      - ARS
                      - CLP
                      - VES
                      - TWD
                      - BOB
                      - PEN
                      - NGN
                      - KES
                      - ZAR
                      - TZS
                      - UGX
                      - RWF
                      - MWK
                      - ZMW
                      - XOF
                      - XAF
                      - BWP
                      - HKD
                      - CNY
                      - USDC
                      - USDT
                      - ETH
                      - BTC
                      - MATIC
                      - SOL
                      - TRX
                      - AVAX
                      - DOT
                      - XRP
                      - POL
                      - ADA
                      - ALGO
                    description: The currency code of the destination currency
                    examples:
                      - BRL
                      - VES
                      - USDC
                      - ETH
                  destinationNetwork:
                    type: string
                    enum:
                      - BTC
                      - ETH
                      - MATIC
                      - CELO
                      - SOLANA
                      - TRON
                      - BSC
                      - XRP
                      - ARBITRUM
                      - OPTIMISM
                      - AVALANCHE
                      - BASE
                      - CARDANO
                    description: The network of the destination currency if it is crypto
                    examples:
                      - MATIC
                      - ETH
                      - CELO
                  destinationAmount:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: >-
                      The amount in the destination currency (use either
                      originAmount or destinationAmount)
                    examples:
                      - 85
                      - 200
                      - 450
                  price:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: >-
                      The exchange rate price for the quote based on the symbol
                      ex: USDC/EUR
                    examples:
                      - 0.85
                      - 0.92
                      - 1.05
                  conversionRate:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: >-
                      The conversion rate price for the quote representing 1
                      originCurrency = X destinationCurrency
                    examples:
                      - 0.85
                      - 0.92
                      - 1.05
                  pair:
                    type: string
                    description: The pair of the quote
                    examples:
                      - USDC/EUR
                      - BRL/EUR
                      - COP/EUR
                  fee:
                    type: number
                    minimum: 0
                    description: >-
                      The fee associated with the order: (originAmount - fee) /
                      price = destinationAmount
                    examples:
                      - 1.5
                      - 2
                      - 3.5
                  expectedGasFee:
                    type: number
                    description: >-
                      The expected fee associated with the blockchain
                      transaction
                    examples:
                      - 1.5
                      - 2.2
                      - 3
                  feeCurrency:
                    anyOf:
                      - type: string
                        enum:
                          - EUR
                          - USD
                          - GBP
                          - BRL
                          - MXN
                          - ARS
                          - COP
                          - PEN
                          - NGN
                          - KES
                          - TZS
                          - UGX
                          - RWF
                          - MWK
                          - ZMW
                          - XOF
                          - XAF
                          - BWP
                      - type: string
                        enum:
                          - USDC
                          - USDT
                          - CUSD
                          - BTC
                          - ETH
                          - POL
                          - SOL
                          - TRX
                          - AVAX
                          - XRP
                          - BNB
                    description: The currency code for the fee
                    examples:
                      - EUR
                  expireAt:
                    type: number
                    description: The expiration timestamp of the quote
                    examples:
                      - 1694291200
                      - 1694291210
                  creatorMarkup:
                    type: object
                    properties:
                      percentage:
                        type: number
                      amount:
                        type: number
                      currency:
                        type: string
                    required:
                      - percentage
                      - amount
                      - currency
                    description: >-
                      Creator markup locked on this quote: percentage
                      (fraction), amount in origin currency. Echoed so the
                      creator sees what they will earn if the order succeeds.
                  agentMarkup:
                    type: object
                    properties:
                      percentage:
                        type: number
                      amount:
                        type: number
                      currency:
                        type: string
                      beneficiaryAccountId:
                        type: string
                    required:
                      - percentage
                      - amount
                      - currency
                      - beneficiaryAccountId
                    description: >-
                      Introducer-agent markup locked on this quote: percentage
                      (fraction), amount in origin currency, and the agent
                      account credited on success.
                  originRail:
                    type: string
                    enum:
                      - BALANCE
                      - SEPA
                      - BTC
                      - ETH
                      - MATIC
                      - POLYGON
                      - CELO
                      - TRON
                      - SOLANA
                      - ARBITRUM
                      - OPTIMISM
                      - AVALANCHE
                      - BSC
                      - BASE
                      - XRP
                      - PIX_BR
                      - UPI
                      - IMPS
                      - TRY_BANK_TRANSFER
                      - AED_BANK_TRANSFER
                      - SPEI
                      - IDR_BANK_TRANSFER
                      - CREDIT_CARD
                      - THAI_QR
                      - VIET_QR
                      - GCASH
                      - ARGENTINA_BANK_TRANSFER
                      - PSE
                      - CLABE
                      - PIX
                      - BANK_DEPOSIT_COL
                      - BANK_DEPOSIT_AR
                      - BANK_DEPOSIT_CL
                      - BANK_DEPOSIT_PE
                      - BANK_DEPOSIT_BO
                      - BANK_DEPOSIT_BR
                      - BANK_DEPOSIT_NG
                      - BANK_DEPOSIT_KE
                      - BANK_DEPOSIT_GH
                      - BANK_DEPOSIT_ZA
                      - BANK_DEPOSIT_TZ
                      - BANK_DEPOSIT_UG
                      - BANK_DEPOSIT_RW
                      - BANK_DEPOSIT_MW
                      - BANK_DEPOSIT_ZM
                      - BANK_DEPOSIT_BW
                      - BANK_DEPOSIT_CD
                      - BANK_DEPOSIT_XOF
                      - BANK_DEPOSIT_XAF
                      - MOBILE_MONEY_NG
                      - MOBILE_MONEY_KE
                      - MOBILE_MONEY_GH
                      - MOBILE_MONEY_ZA
                      - MOBILE_MONEY_TZ
                      - MOBILE_MONEY_UG
                      - MOBILE_MONEY_RW
                      - MOBILE_MONEY_MW
                      - MOBILE_MONEY_ZM
                      - MOBILE_MONEY_BW
                      - MOBILE_MONEY_CD
                      - MOBILE_MONEY_XOF
                      - MOBILE_MONEY_XAF
                      - ACH_US
                      - GBP_BANK_TRANSFER
                    description: >-
                      Rail the origin funds are collected over, echoed from the
                      quote request.
                  destinationRail:
                    type: string
                    enum:
                      - SEPA
                      - ETH
                      - BTC
                      - MATIC
                      - SOL
                      - TRON
                      - XRP
                      - BSC
                      - AVALANCHE
                      - ARBITRUM
                      - OPTIMISM
                      - PIX_BR
                      - PHONE_DEPOSIT_VEN
                      - PHONE_DEPOSIT_MX
                      - PHONE_DEPOSIT_AR
                      - PHONE_DEPOSIT_IN
                      - PHONE_DEPOSIT_VN
                      - BANK_DEPOSIT_VEN
                      - BANK_DEPOSIT_BR
                      - BANK_DEPOSIT_MX
                      - BALANCE
                      - CELO
                      - BASE
                      - UPI
                      - IMPS
                      - THAI_QR
                      - VIET_QR
                      - GCASH
                      - ARGENTINA_BANK_TRANSFER
                      - PSE
                      - BANK_DEPOSIT_COL
                      - BRE_B_COP
                      - ACH_COP
                      - BANK_DEPOSIT_TW
                      - BANK_DEPOSIT_AR
                      - BANK_DEPOSIT_CL
                      - BANK_DEPOSIT_BO
                      - BANK_DEPOSIT_PE
                      - BANK_DEPOSIT_PEN
                      - BANK_DEPOSIT_NG
                      - BANK_DEPOSIT_KE
                      - BANK_DEPOSIT_GH
                      - BANK_DEPOSIT_ZA
                      - BANK_DEPOSIT_TZ
                      - BANK_DEPOSIT_UG
                      - BANK_DEPOSIT_RW
                      - BANK_DEPOSIT_MW
                      - BANK_DEPOSIT_ZM
                      - BANK_DEPOSIT_BW
                      - BANK_DEPOSIT_CD
                      - BANK_DEPOSIT_XOF
                      - BANK_DEPOSIT_XAF
                      - MOBILE_MONEY_NG
                      - MOBILE_MONEY_KE
                      - MOBILE_MONEY_GH
                      - MOBILE_MONEY_ZA
                      - MOBILE_MONEY_TZ
                      - MOBILE_MONEY_UG
                      - MOBILE_MONEY_RW
                      - MOBILE_MONEY_MW
                      - MOBILE_MONEY_ZM
                      - MOBILE_MONEY_BW
                      - MOBILE_MONEY_CD
                      - MOBILE_MONEY_XOF
                      - MOBILE_MONEY_XAF
                      - BANK_DEPOSIT_HK
                      - BANK_DEPOSIT_CN
                      - GBP_BANK_TRANSFER
                      - ACH_US
                      - LINKED_BANK_ACCOUNT
                    description: >-
                      Rail the destination funds are paid out over, echoed from
                      the quote request.
                  appVisualFee:
                    type: number
                    description: >-
                      Fee to display to the end user, which can differ from
                      `fee` where the workspace absorbs it. Present only for
                      workspaces configured that way; prefer `fee` for
                      reconciliation.
                    example: 0
                required:
                  - quoteId
                  - originCurrency
                  - originAmount
                  - destinationCurrency
                  - destinationAmount
                  - price
                  - conversionRate
                  - pair
                  - fee
                  - feeCurrency
                  - expireAt
                description: Response schema for creating a quote
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: |-
            const res = await fetch("https://api.virtuabroker.com/v1/quotes", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "originCurrency": "EUR",
                  "originRail": "BALANCE",
                  "destinationCurrency": "VES",
                  "destinationRail": "SEPA",
                  "locale": "en",
                  "customerId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
                  "customerEmail": "customer@example.com",
                  "creatorMarkup": 0,
                  "originAmount": 100
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/quotes",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "originCurrency": "EUR",
                    "originRail": "BALANCE",
                    "destinationCurrency": "VES",
                    "destinationRail": "SEPA",
                    "locale": "en",
                    "customerId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
                    "customerEmail": "customer@example.com",
                    "creatorMarkup": 0,
                    "originAmount": 100
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/quotes" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "originCurrency": "EUR",
              "originRail": "BALANCE",
              "destinationCurrency": "VES",
              "destinationRail": "SEPA",
              "locale": "en",
              "customerId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
              "customerEmail": "customer@example.com",
              "creatorMarkup": 0,
              "originAmount": 100
            }'
  /v1/balances:
    get:
      summary: Get user balances
      description: >-
        This endpoint returns the balances for different currencies associated
        with a user. The user can optionally filter by a specific currency or
        email.
      tags:
        - Balances
      security:
        - oauth2: []
      parameters:
        - schema:
            anyOf:
              - type: string
                enum:
                  - EUR
                  - USD
                  - GBP
                  - BRL
                  - MXN
                  - ARS
                  - COP
                  - PEN
                  - NGN
                  - KES
                  - TZS
                  - UGX
                  - RWF
                  - MWK
                  - ZMW
                  - XOF
                  - XAF
                  - BWP
              - type: string
                enum:
                  - USDC
                  - USDT
                  - CUSD
                  - BTC
                  - ETH
                  - POL
                  - SOL
                  - TRX
                  - AVAX
                  - XRP
                  - BNB
            description: Optional currency code to filter the balances
            examples:
              - EUR
          required: false
          description: Currency code to filter the balances
          name: currency
          in: query
        - schema:
            type: string
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: Optional user email to filter the balances
            examples:
              - user@virtuabroker.com
              - john.doe@example.com
              - alice@example.com
          required: false
          description: User email to filter the balances
          name: userEmail
          in: query
      responses:
        '200':
          description: A list of balances
          content:
            application/json:
              schema:
                type: object
                properties:
                  balances:
                    type: array
                    items:
                      type: object
                      properties:
                        currency:
                          type: string
                          description: Currency code
                          example: EUR
                        balance:
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                          description: Available balance for the currency
                          example: 100
                        reserved:
                          type: number
                          minimum: 0
                          description: Reserved balance for the currency
                          example: 100
                        actions:
                          type: object
                          properties:
                            canDeposit:
                              type: boolean
                              description: Whether this currency can be received/deposited
                            canWithdraw:
                              type: boolean
                              description: Whether this currency can be sent/withdrawn
                            canBuy:
                              type: boolean
                              description: Whether this currency can be bought
                            canSell:
                              type: boolean
                              description: Whether this currency can be sold
                          required:
                            - canDeposit
                            - canWithdraw
                            - canBuy
                            - canSell
                          description: >-
                            What the workspace may do with this currency,
                            derived from the capability registry.
                      required:
                        - currency
                        - balance
                      description: Balance information for a single currency
                    description: List of balances for different currencies
                    example:
                      - currency: EUR
                        balance: 100
                        reserved: 20
                      - currency: USD
                        balance: 100
                  total:
                    type: number
                    description: Number of currency balances returned
                    example: 2
                required:
                  - balances
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await fetch("https://api.virtuabroker.com/v1/balances",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/balances",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/balances" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/deposits:
    post:
      summary: Create a deposit
      description: >

        Creates a new deposit request, returning the payment instructions the
        end user must follow to fund their account.


        ### How deposits work


        1. Call `POST /v1/deposits` with the currency, amount, and customer
        data.

        2. The response contains the payment instructions in `depositInfo`:
           - **Crypto** — an on-chain `address` (and network) where the user must send funds.
           - **Fiat** — a bank reference or IBAN the user must transfer to.
           - **Pending** — `depositType: "PENDING"` means the details are still being provisioned. Poll the deposit, or wait for the webhook, until the final instructions appear.
        3. Some deposits additionally carry `extraDepositMethods` — an optional
        array of **other** ways to pay the same deposit (for example, a hosted
        card page to send the payer to). It is purely additive: `depositInfo`
        remains the primary way to pay, so you may ignore this field entirely if
        you only support bank transfer. Treat an unrecognised `methodType` as
        unsupported rather than as an error.

        4. Once the inbound transfer is detected on-chain or reported by the
        bank, the user's balance is credited automatically. A payer returning to
        an extra method's `callbackUrl` is **not** proof of payment — rely on
        the deposit status or webhooks for that.


        ### When the payment does not match the deposit


        Funds are never lost or silently absorbed. A payment that cannot be
        credited straight away is held as a **pending payment** until it is
        linked to a valid deposit or order — or until operations resolves it
        administratively (see the note at the end of this section).


        - **A different amount than expected.** Small differences are treated as
        the expected amount. Larger ones reduce the confidence of the automatic
        match, and beyond a point the payment is held for a human decision
        rather than linked automatically. The deposit's own status does not
        change when this happens — it still reads `Pending`, exactly like a
        deposit that is simply waiting for the money to arrive. The signal is
        `pendingPaymentReview` on **GET /v1/deposits/{depositId}**: it is
        present while a payment has arrived for that deposit and is awaiting a
        link decision, and its `reason` says why the payment was not linked
        automatically (`amount_mismatch`, `name_mismatch` or `low_confidence`).
        It is returned by the deposit detail endpoint only — the deposit list
        does not carry it. A proposal is not yet a link, so the payment itself
        also remains listed by **GET /v1/pending-payments**. Once linked, the
        deposit is normally completed for the amount that actually arrived.


        - **A wrong or missing payment reference.** The payment cannot be
        matched automatically and is held as a pending payment for manual
        reconciliation. This can take longer than a normal deposit, because the
        payer's name at the bank may differ from the one on the deposit. Always
        give the payer `depositInfo.referenceCode` exactly as returned — it is
        the authoritative reference, and although it currently matches the
        `depositId`, do not derive it from that.


        - **Funds arriving after the deposit was cancelled.** The payment is
        **not** credited to the cancelled deposit and is **not** lost. It
        becomes an ordinary unlinked pending payment, listed by **GET
        /v1/pending-payments**, and you can resolve it yourself — link it to a
        valid deposit or order, or create a new one for it, using the
        pending-payment endpoints. It is never linked automatically to anything:
        pointing it at the right target is a deliberate action. The same applies
        to funds arriving after an **order** is cancelled.


        Operations can also resolve a held payment **administratively** — for
        example recording it as a refund to the payer, an internal liquidity
        movement, or a settlement executed outside the platform. An
        administratively resolved payment **leaves the pending-payments
        surface**: it is no longer returned by **GET /v1/pending-payments**, and
        requesting it by id responds **404**. If a pending payment you were
        tracking disappears without having been linked to a deposit or order,
        treat it as resolved by operations and contact support if you need the
        reconciliation detail. In every case the money remains traceable by
        operations; nothing is written off silently.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            pattern: ^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$
            description: >-
              Optional idempotency key: 1–128 characters of letters, digits,
              dash or underscore, starting with a letter or digit, sent exactly
              once. A present-but-malformed key is rejected with 400 before
              anything happens. Replaying the same key with the same payload
              returns the original response; reusing it with a different payload
              is rejected with 409. The deposit id is always server-generated
              and never derived from this key.
          required: false
          description: >-
            Optional idempotency key: 1–128 characters of letters, digits, dash
            or underscore, starting with a letter or digit, sent exactly once. A
            present-but-malformed key is rejected with 400 before anything
            happens. Replaying the same key with the same payload returns the
            original response; reusing it with a different payload is rejected
            with 409. The deposit id is always server-generated and never
            derived from this key.
          name: Idempotency-Key
          in: header
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    externalReference:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: >-
                        Your own reference for this deposit. Stored as-is and
                        returned on create, detail and list, so you can look the
                        deposit up by it after a network timeout instead of
                        retrying blind. Not interpreted by VirtuaBroker and not
                        shown to the payer — for the payer's transfer reference
                        use depositInfo.referenceCode.
                      examples:
                        - partner-ref-0001
                        - inv_2026_00417
                    userData:
                      oneOf:
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            lastName:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: >-
                                Last name of the user making the deposit (or
                                representative for business)
                              examples:
                                - Doe
                                - Smith
                                - Johnson
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - firstName
                            - userEmail
                            - country
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - business
                            businessName:
                              type: string
                              maxLength: 150
                              description: >-
                                Business name (required when userType is
                                business)
                              examples:
                                - Acme Corp
                                - Tech Solutions Inc
                                - Global Services Ltd
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - businessName
                            - firstName
                            - userEmail
                            - country
                      description: User data of the person/company making the deposit
                    userDataId:
                      type: string
                      description: Account ID of the person/company making the deposit
                      examples:
                        - d290f1ee-6c54-4b01-90e6-d701748f0851
                    originCountry:
                      type: string
                      minLength: 2
                      maxLength: 2
                      description: >-
                        Collection country (ISO-3166 alpha-2) for a
                        multi-country payin currency (CFA zones). Must be a
                        valid collection country for the currency; omitted ⇒ the
                        default collection country is used.
                      examples:
                        - CI
                        - SN
                        - CM
                    originNetworkId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      description: >-
                        Collection network the payer will pay from, for a
                        mobile-money payin corridor. Must be one of the ids
                        returned by GET
                        /v1/currencies/{currency}/networks?rail={rail}&rampType=deposit
                        — passing the same rail, and the same country where the
                        currency is collected across several — not free text.
                        Required only where the corridor offers more than one
                        network; a single-network corridor resolves it
                        automatically and needs no value.
                      examples:
                        - 3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f
                - anyOf:
                    - type: object
                      properties:
                        amount:
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                          description: Amount to be deposited
                          examples:
                            - 100
                            - 1000
                            - 5000
                            - 10000
                        currency:
                          type: string
                          enum:
                            - USDC
                            - USDT
                            - CUSD
                            - BTC
                            - ETH
                            - POL
                            - SOL
                            - TRX
                            - AVAX
                            - XRP
                            - BNB
                          description: Currency of the deposit
                          examples:
                            - USDC
                            - CUSD
                            - ETH
                        rail:
                          anyOf:
                            - type: string
                              enum:
                                - BTC
                                - ETH
                                - MATIC
                                - CELO
                                - SOLANA
                                - TRON
                                - BSC
                                - XRP
                                - ARBITRUM
                                - OPTIMISM
                                - AVALANCHE
                                - BASE
                                - CARDANO
                            - type: string
                              enum:
                                - BALANCE
                      required:
                        - amount
                        - currency
                        - rail
                    - type: object
                      properties:
                        amount:
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                          description: Amount to be deposited
                          examples:
                            - 100
                            - 1000
                            - 5000
                            - 10000
                        currency:
                          type: string
                          enum:
                            - EUR
                            - USD
                            - GBP
                            - BRL
                            - MXN
                            - ARS
                            - COP
                            - PEN
                            - NGN
                            - KES
                            - TZS
                            - UGX
                            - RWF
                            - MWK
                            - ZMW
                            - XOF
                            - XAF
                            - BWP
                          description: Currency of the deposit
                          examples:
                            - EUR
                            - BRL
                        rail:
                          type: string
                          enum:
                            - BALANCE
                            - SEPA
                            - BTC
                            - ETH
                            - MATIC
                            - POLYGON
                            - CELO
                            - TRON
                            - SOLANA
                            - ARBITRUM
                            - OPTIMISM
                            - AVALANCHE
                            - BSC
                            - BASE
                            - XRP
                            - PIX_BR
                            - UPI
                            - IMPS
                            - TRY_BANK_TRANSFER
                            - AED_BANK_TRANSFER
                            - SPEI
                            - IDR_BANK_TRANSFER
                            - CREDIT_CARD
                            - THAI_QR
                            - VIET_QR
                            - GCASH
                            - ARGENTINA_BANK_TRANSFER
                            - PSE
                            - CLABE
                            - PIX
                            - BANK_DEPOSIT_COL
                            - BANK_DEPOSIT_AR
                            - BANK_DEPOSIT_CL
                            - BANK_DEPOSIT_PE
                            - BANK_DEPOSIT_BO
                            - BANK_DEPOSIT_BR
                            - BANK_DEPOSIT_NG
                            - BANK_DEPOSIT_KE
                            - BANK_DEPOSIT_GH
                            - BANK_DEPOSIT_ZA
                            - BANK_DEPOSIT_TZ
                            - BANK_DEPOSIT_UG
                            - BANK_DEPOSIT_RW
                            - BANK_DEPOSIT_MW
                            - BANK_DEPOSIT_ZM
                            - BANK_DEPOSIT_BW
                            - BANK_DEPOSIT_CD
                            - BANK_DEPOSIT_XOF
                            - BANK_DEPOSIT_XAF
                            - MOBILE_MONEY_NG
                            - MOBILE_MONEY_KE
                            - MOBILE_MONEY_GH
                            - MOBILE_MONEY_ZA
                            - MOBILE_MONEY_TZ
                            - MOBILE_MONEY_UG
                            - MOBILE_MONEY_RW
                            - MOBILE_MONEY_MW
                            - MOBILE_MONEY_ZM
                            - MOBILE_MONEY_BW
                            - MOBILE_MONEY_CD
                            - MOBILE_MONEY_XOF
                            - MOBILE_MONEY_XAF
                            - ACH_US
                            - GBP_BANK_TRANSFER
                          description: Rail for the deposit for fiat deposits
                          examples:
                            - SEPA
                            - MATIC
                      required:
                        - currency
              description: >-
                Request schema for creating a deposit. Must provide either
                userData or userDataId.
      responses:
        '200':
          description: Successful deposit creation
          content:
            application/json:
              schema:
                type: object
                properties:
                  depositId:
                    type: string
                    minLength: 1
                    description: >-
                      ID of the deposit. Normally a 12-character internal id;
                      deposits created before mid-2026 may carry a longer legacy
                      id. Treat it as an opaque string.
                  externalReference:
                    type: string
                    minLength: 1
                    maxLength: 128
                    description: >-
                      Your own reference for this deposit. Stored as-is and
                      returned on create, detail and list, so you can look the
                      deposit up by it after a network timeout instead of
                      retrying blind. Not interpreted by VirtuaBroker and not
                      shown to the payer — for the payer's transfer reference
                      use depositInfo.referenceCode.
                    examples:
                      - partner-ref-0001
                      - inv_2026_00417
                  userData:
                    oneOf:
                      - type: object
                        properties:
                          userType:
                            type: string
                            enum:
                              - individual
                          firstName:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: >-
                              First name of the user making the deposit (or
                              representative for business)
                            examples:
                              - John
                              - Alice
                              - Bob
                          lastName:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: >-
                              Last name of the user making the deposit (or
                              representative for business)
                            examples:
                              - Doe
                              - Smith
                              - Johnson
                          userEmail:
                            type: string
                            maxLength: 254
                            format: email
                            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                            description: Email of the user making the deposit
                            examples:
                              - user@virtuabroker.com
                              - john.doe@example.com
                              - alice@example.com
                          address:
                            type: string
                            maxLength: 150
                            description: Address of the user making the deposit
                            examples:
                              - 123 Main St, Anytown, ES
                              - 456 Elm St, Anytown, ES
                              - 789 Oak St, Anytown, ES
                          taxDocumentType:
                            type: string
                            maxLength: 50
                            description: >-
                              Tax document type of the user making the deposit.
                              Common values: DNI, NIE, PASSPORT, CC, NIT, CE,
                              NIF, but any string is accepted.
                            examples:
                              - CC
                              - NIT
                              - CE
                              - NIF
                              - Other
                          taxId:
                            type: string
                            maxLength: 30
                            description: Tax ID of the user making the deposit
                            examples:
                              - 123-45-6789
                              - 987-65-4321
                              - 111-22-3333
                          country:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country code of the user making the deposit
                            examples:
                              - ES
                              - US
                              - GB
                          state:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: State of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          postalCode:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Postal code of the user making the deposit
                            examples:
                              - '12345'
                              - '67890'
                              - abcde
                          city:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: City of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          dob:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Date of birth of the user making the deposit
                            examples:
                              - '1990-01-01'
                              - '1995-05-15'
                              - '1988-12-31'
                          phoneNumber:
                            type: string
                            maxLength: 30
                            description: Phone number of the user making the deposit
                            examples:
                              - '+447700900123'
                              - '+447700900456'
                              - '+447700900789'
                          kycId:
                            type: string
                            minLength: 1
                            maxLength: 300
                            description: >-
                              KYC ID of the user making the deposit on your
                              platform (if the KYC is done by you, add the url)
                            examples:
                              - kyc-12345
                              - kyc-67890
                              - kyc-abcde
                          activity:
                            type: string
                            description: Activity of the user making the deposit
                            examples:
                              - worker
                              - business
                              - student
                        required:
                          - userType
                          - firstName
                          - userEmail
                          - country
                      - type: object
                        properties:
                          userType:
                            type: string
                            enum:
                              - business
                          businessName:
                            type: string
                            maxLength: 150
                            description: Business name (required when userType is business)
                            examples:
                              - Acme Corp
                              - Tech Solutions Inc
                              - Global Services Ltd
                          firstName:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: >-
                              First name of the user making the deposit (or
                              representative for business)
                            examples:
                              - John
                              - Alice
                              - Bob
                          userEmail:
                            type: string
                            maxLength: 254
                            format: email
                            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                            description: Email of the user making the deposit
                            examples:
                              - user@virtuabroker.com
                              - john.doe@example.com
                              - alice@example.com
                          address:
                            type: string
                            maxLength: 150
                            description: Address of the user making the deposit
                            examples:
                              - 123 Main St, Anytown, ES
                              - 456 Elm St, Anytown, ES
                              - 789 Oak St, Anytown, ES
                          taxDocumentType:
                            type: string
                            maxLength: 50
                            description: >-
                              Tax document type of the user making the deposit.
                              Common values: DNI, NIE, PASSPORT, CC, NIT, CE,
                              NIF, but any string is accepted.
                            examples:
                              - CC
                              - NIT
                              - CE
                              - NIF
                              - Other
                          taxId:
                            type: string
                            maxLength: 30
                            description: Tax ID of the user making the deposit
                            examples:
                              - 123-45-6789
                              - 987-65-4321
                              - 111-22-3333
                          country:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country code of the user making the deposit
                            examples:
                              - ES
                              - US
                              - GB
                          state:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: State of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          postalCode:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Postal code of the user making the deposit
                            examples:
                              - '12345'
                              - '67890'
                              - abcde
                          city:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: City of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          dob:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Date of birth of the user making the deposit
                            examples:
                              - '1990-01-01'
                              - '1995-05-15'
                              - '1988-12-31'
                          phoneNumber:
                            type: string
                            maxLength: 30
                            description: Phone number of the user making the deposit
                            examples:
                              - '+447700900123'
                              - '+447700900456'
                              - '+447700900789'
                          kycId:
                            type: string
                            minLength: 1
                            maxLength: 300
                            description: >-
                              KYC ID of the user making the deposit on your
                              platform (if the KYC is done by you, add the url)
                            examples:
                              - kyc-12345
                              - kyc-67890
                              - kyc-abcde
                          activity:
                            type: string
                            description: Activity of the user making the deposit
                            examples:
                              - worker
                              - business
                              - student
                        required:
                          - userType
                          - businessName
                          - firstName
                          - userEmail
                          - country
                    description: User data of the person/company making the deposit
                    examples:
                      - userType: individual
                        firstName: John
                        lastName: Doe
                        userEmail: user@virtuabroker.com
                        address: 123 Main St, Anytown, ES
                        taxId: 123-45-6789
                        country: ES
                      - userType: individual
                        firstName: Alice
                        lastName: Smith
                        userEmail: alice@example.com
                        address: 456 Elm St, Anytown, ES
                        taxId: 987-65-4321
                        country: ES
                  createdAt:
                    type: number
                    description: Creation time of the deposit
                    examples:
                      - 1723027132
                      - 1723027133
                      - 1723027134
                  rail:
                    type: string
                    enum:
                      - BALANCE
                      - SEPA
                      - BTC
                      - ETH
                      - MATIC
                      - POLYGON
                      - CELO
                      - TRON
                      - SOLANA
                      - ARBITRUM
                      - OPTIMISM
                      - AVALANCHE
                      - BSC
                      - BASE
                      - XRP
                      - PIX_BR
                      - UPI
                      - IMPS
                      - TRY_BANK_TRANSFER
                      - AED_BANK_TRANSFER
                      - SPEI
                      - IDR_BANK_TRANSFER
                      - CREDIT_CARD
                      - THAI_QR
                      - VIET_QR
                      - GCASH
                      - ARGENTINA_BANK_TRANSFER
                      - PSE
                      - CLABE
                      - PIX
                      - BANK_DEPOSIT_COL
                      - BANK_DEPOSIT_AR
                      - BANK_DEPOSIT_CL
                      - BANK_DEPOSIT_PE
                      - BANK_DEPOSIT_BO
                      - BANK_DEPOSIT_BR
                      - BANK_DEPOSIT_NG
                      - BANK_DEPOSIT_KE
                      - BANK_DEPOSIT_GH
                      - BANK_DEPOSIT_ZA
                      - BANK_DEPOSIT_TZ
                      - BANK_DEPOSIT_UG
                      - BANK_DEPOSIT_RW
                      - BANK_DEPOSIT_MW
                      - BANK_DEPOSIT_ZM
                      - BANK_DEPOSIT_BW
                      - BANK_DEPOSIT_CD
                      - BANK_DEPOSIT_XOF
                      - BANK_DEPOSIT_XAF
                      - MOBILE_MONEY_NG
                      - MOBILE_MONEY_KE
                      - MOBILE_MONEY_GH
                      - MOBILE_MONEY_ZA
                      - MOBILE_MONEY_TZ
                      - MOBILE_MONEY_UG
                      - MOBILE_MONEY_RW
                      - MOBILE_MONEY_MW
                      - MOBILE_MONEY_ZM
                      - MOBILE_MONEY_BW
                      - MOBILE_MONEY_CD
                      - MOBILE_MONEY_XOF
                      - MOBILE_MONEY_XAF
                      - ACH_US
                      - GBP_BANK_TRANSFER
                    description: Rail of the deposit
                  receivedAt:
                    type: number
                    description: >-
                      Unix ms timestamp of when the funds for this deposit
                      ARRIVED — recorded when the incoming payment is matched to
                      the deposit, which is before it is credited. Present
                      whenever funds have arrived, including a deposit whose
                      funds are still held in review; omitted entirely when no
                      funds ever arrived, so a never-funded or cancelled deposit
                      has no value here and its presence is a reliable
                      settlement signal for reconciliation. Identical on GET
                      /v1/deposits and GET /v1/deposits/{depositId}. Note that
                      the deposit object embedded in order and operation
                      responses does not yet apply this rule — it returns the
                      stored value. Not the creation time — use createdAt for
                      that.
                    examples:
                      - 1723027132000
                      - 1723027133000
                      - 1723027134000
                  expectedAmount:
                    type: number
                    minimum: 0
                    description: Amount expected of the deposit
                    examples:
                      - 1000
                      - 2000
                      - 3000
                  amount:
                    type: number
                    minimum: 0
                    description: Amount received of the deposit
                    examples:
                      - 1000
                      - 2000
                      - 3000
                  currency:
                    anyOf:
                      - type: string
                        enum:
                          - EUR
                          - USD
                          - GBP
                          - BRL
                          - MXN
                          - ARS
                          - COP
                          - PEN
                          - NGN
                          - KES
                          - TZS
                          - UGX
                          - RWF
                          - MWK
                          - ZMW
                          - XOF
                          - XAF
                          - BWP
                      - type: string
                        enum:
                          - USDC
                          - USDT
                          - CUSD
                          - BTC
                          - ETH
                          - POL
                          - SOL
                          - TRX
                          - AVAX
                          - XRP
                          - BNB
                    description: Currency of the deposit
                    examples:
                      - EUR
                      - BRL
                  fee:
                    type: number
                    minimum: 0
                    description: >-
                      Fee for the deposit. This value is written once the
                      deposit has been executed. Meanwhile it will appear 0.
                    example: 10
                  expectedFee:
                    type: number
                    minimum: 0
                    description: >-
                      Fee for the deposit. This value is correlated with the
                      expected amount for the deposit.
                    examples:
                      - 10
                      - 20
                      - 30
                  feeCurrency:
                    anyOf:
                      - type: string
                        enum:
                          - EUR
                          - USD
                          - GBP
                          - BRL
                          - MXN
                          - ARS
                          - COP
                          - PEN
                          - NGN
                          - KES
                          - TZS
                          - UGX
                          - RWF
                          - MWK
                          - ZMW
                          - XOF
                          - XAF
                          - BWP
                      - type: string
                        enum:
                          - USDC
                          - USDT
                          - CUSD
                          - BTC
                          - ETH
                          - POL
                          - SOL
                          - TRX
                          - AVAX
                          - XRP
                          - BNB
                    description: Currency of the fee
                    examples:
                      - EUR
                      - BRL
                  status:
                    anyOf:
                      - type: string
                        enum:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                        description: >-
                          Common status values that are shared across all
                          operation types
                        examples:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                      - type: string
                        enum:
                          - PendingCancel
                          - Received
                    description: Status of the deposit
                    examples:
                      - Pending
                      - Success
                      - Failed
                      - Received
                      - PendingCancel
                  depositInfo:
                    oneOf:
                      - type: object
                        properties:
                          accountHolder:
                            type: string
                            description: Name of the account holder
                            example: John Doe
                          iban:
                            type: string
                            description: SEPA Bank Account Number
                            example: DE8937XXXXXXXXXXXX3000
                          bic:
                            type: string
                            description: Bank BIC/SWIFT code
                            example: DEUTDEFF
                          bankName:
                            type: string
                            description: Name of the bank
                            example: Deutsche Bank
                          bankAddress:
                            type: string
                            description: Address of the bank
                            example: Taunusanlage 12
                          bankCity:
                            type: string
                            description: City of the bank
                            example: Frankfurt am Main
                          bankZipcode:
                            type: string
                            description: Zipcode of the bank
                            example: '60325'
                          bankCountry:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country of the bank
                            example: DE
                          depositType:
                            type: string
                            enum:
                              - SEPA
                          amount:
                            type: number
                            minimum: 0
                            description: >-
                              Expected deposit amount. It can be 0 for
                              open-amount bank transfers where the sender
                              chooses the final amount from their bank.
                            example: 1000
                          referenceCode:
                            type: string
                            minLength: 1
                            description: >-
                              A unique identifier for the deposit, crucial for
                              matching the deposit with the corresponding order.
                              The user must include this code when making the
                              deposit to ensure accurate processing. In cases
                              where the reference code is incorrect or missing,
                              we manually match orders based on the sender's
                              name and other available details. In case the
                              deposit is not matched, we will mark the order as
                              Reviewing and the system will require manual
                              attention.
                            example: REF123456
                          extraDepositMethods:
                            type: array
                            items:
                              type: object
                              properties:
                                methodType:
                                  type: string
                                  enum:
                                    - HOSTED_CHECKOUT
                                  description: >-
                                    HOSTED_CHECKOUT: a hosted payment page to
                                    send the payer to (card). More types may be
                                    added — treat an unknown value as
                                    unsupported and fall back to the bank
                                    details in `depositInfo`.
                                url:
                                  type: string
                                  description: >-
                                    URL to send the payer to. For
                                    HOSTED_CHECKOUT, redirect the payer here (or
                                    embed it) to pay by card.
                                  example: https://checkout.example.com/pay/abc123
                                callbackUrl:
                                  type: string
                                  description: >-
                                    Where the payer’s BROWSER is returned after
                                    paying. Informational only: it is not a
                                    server-to-server notification, and a payer
                                    landing there is NOT proof of payment — rely
                                    on the deposit status or webhooks for that.
                                referenceCode:
                                  type: string
                                  description: >-
                                    Payment reference for this method (equals
                                    the deposit/order reference)
                                amount:
                                  type: number
                                  description: >-
                                    Amount payable via this method when it
                                    differs from the deposit amount (e.g. a
                                    method-specific surcharge)
                                currency:
                                  type: string
                                  description: Currency of this method
                                expiresAt:
                                  type: number
                                  description: >-
                                    Unix ms after which `url` is no longer
                                    valid, when known
                              required:
                                - methodType
                                - url
                              description: An additional, optional way to pay this deposit
                            description: >-
                              Additional, optional ways to pay this same deposit
                              (e.g. a hosted card page). The bank details above
                              remain the primary method; ignore this field if
                              you only support bank transfer.
                        required:
                          - depositType
                          - amount
                          - referenceCode
                        description: >-
                          Detailed information about a bank deposit, including
                          the amount and a unique reference code for
                          identification.
                      - type: object
                        properties:
                          address:
                            type: string
                            minLength: 1
                            description: Crypto wallet address
                            example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                          network:
                            type: string
                            enum:
                              - MATIC
                              - ETH
                              - CELO
                              - TRON
                              - BTC
                              - SOLANA
                              - XRP
                              - CARDANO
                              - BSC
                              - ARBITRUM
                              - OPTIMISM
                              - AVALANCHE
                              - BASE
                            description: Network for the deposit for crypto deposits
                            examples:
                              - ETH
                              - MATIC
                              - CELO
                          memo:
                            type: string
                            description: Optional memo for the transaction
                            example: Payment for services
                          depositType:
                            type: string
                            enum:
                              - CRYPTO
                          qrCode:
                            type: string
                            description: Base64-encoded QR image for the deposit address
                            example: >-
                              iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                          qrCodeUrl:
                            type: string
                            format: uri
                            description: 7-day signed GCS URL of the QR code PNG
                          qrCodeExpiresAt:
                            type: number
                            description: Unix timestamp (ms) when qrCodeUrl expires
                          receivingAddress:
                            type: string
                            description: The wallet address where funds should be sent
                            example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                          tokenContract:
                            type: string
                            description: The ERC20 token contract address
                            example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                          decimals:
                            type: number
                            description: Token decimals (default 18)
                            example: 18
                        required:
                          - address
                          - network
                          - depositType
                        description: Crypto Deposit Information
                      - type: object
                        properties:
                          base64QRCode:
                            type: string
                            minLength: 1
                            description: Base64 encoded QR code
                            example: base64QRCode
                          qrCodeString:
                            type: string
                            minLength: 1
                            description: >-
                              The Pix copy-and-paste code (BR Code payload) the
                              payer pastes into their bank app. Pass it through
                              unchanged — it carries its own checksum.
                            example: qrCodeString
                          referenceCode:
                            type: string
                            minLength: 1
                            description: >-
                              A unique identifier for the deposit, crucial for
                              matching the deposit with the corresponding order
                            example: REF123456
                          amount:
                            type: number
                            minimum: 0
                            exclusiveMinimum: true
                            description: >-
                              The monetary value to be deposited into the bank.
                              This amount should be positive and accurately
                              reflect the intended deposit.
                            example: 1000
                          depositType:
                            type: string
                            enum:
                              - PIX
                        required:
                          - base64QRCode
                          - qrCodeString
                          - referenceCode
                          - amount
                          - depositType
                        description: Pix Deposit Information
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - CREDIT_CARD
                        required:
                          - depositType
                      - type: object
                        properties:
                          bankName:
                            type: string
                            description: >-
                              Name of the bank (present when the rail provides
                              it)
                          accountHolder:
                            type: string
                            description: >-
                              Name of the account holder (present when the rail
                              provides it)
                          clabe:
                            type: string
                            description: CLABE number
                          accountNumber:
                            type: string
                            description: >-
                              Bank account number (e.g. from the BANK_TRANSFER
                              payment method)
                          reference:
                            type: string
                            description: >-
                              Payment reference (e.g. from the BANK_TRANSFER
                              payment method)
                          depositType:
                            type: string
                            enum:
                              - CLABE
                            description: Type of the deposit
                        required:
                          - clabe
                          - depositType
                      - type: object
                        properties:
                          url:
                            type: string
                            description: URL of the PSE payment
                          amountPrefilled:
                            type: boolean
                            description: >-
                              Whether the payment page already carries the
                              amount. When false or absent, the payer must enter
                              it.
                          depositType:
                            type: string
                            enum:
                              - PSE
                            description: Type of the deposit
                        required:
                          - url
                          - depositType
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BALANCE
                        required:
                          - depositType
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - PENDING
                          currency:
                            type: string
                            description: Currency of the deposit
                          referenceCode:
                            type: string
                            description: Reference code for the order/deposit
                          amount:
                            type: number
                            minimum: 0
                            description: >-
                              Expected deposit amount. It can be 0 while bank
                              transfer details are open-amount or still being
                              provisioned.
                          extraDepositMethods:
                            type: array
                            items:
                              type: object
                              properties:
                                methodType:
                                  type: string
                                  enum:
                                    - HOSTED_CHECKOUT
                                  description: >-
                                    HOSTED_CHECKOUT: a hosted payment page to
                                    send the payer to (card). More types may be
                                    added — treat an unknown value as
                                    unsupported and fall back to the bank
                                    details in `depositInfo`.
                                url:
                                  type: string
                                  description: >-
                                    URL to send the payer to. For
                                    HOSTED_CHECKOUT, redirect the payer here (or
                                    embed it) to pay by card.
                                  example: https://checkout.example.com/pay/abc123
                                callbackUrl:
                                  type: string
                                  description: >-
                                    Where the payer’s BROWSER is returned after
                                    paying. Informational only: it is not a
                                    server-to-server notification, and a payer
                                    landing there is NOT proof of payment — rely
                                    on the deposit status or webhooks for that.
                                referenceCode:
                                  type: string
                                  description: >-
                                    Payment reference for this method (equals
                                    the deposit/order reference)
                                amount:
                                  type: number
                                  description: >-
                                    Amount payable via this method when it
                                    differs from the deposit amount (e.g. a
                                    method-specific surcharge)
                                currency:
                                  type: string
                                  description: Currency of this method
                                expiresAt:
                                  type: number
                                  description: >-
                                    Unix ms after which `url` is no longer
                                    valid, when known
                              required:
                                - methodType
                                - url
                              description: An additional, optional way to pay this deposit
                            description: >-
                              Additional ways to pay while the bank details are
                              being provisioned (e.g. a hosted card page).
                              Optional — ignore it and wait for the bank details
                              if you only support bank transfer.
                          pendingReason:
                            type: string
                            enum:
                              - collection_account_activating
                              - accountless_per_account_corridor
                            description: >-
                              Why the instructions are still being provisioned,
                              when the reason is known.
                              `collection_account_activating` means the
                              collection account for this payer is being
                              activated and payable details are expected
                              shortly. `accountless_per_account_corridor` means
                              this corridor collects only into a collection
                              account dedicated to the paying account, this
                              request names no account, and none can be created
                              for it — so payable details will NOT arrive by
                              waiting; create the deposit against an account
                              instead. Absence never conveys timing on either
                              surface: here it means only that no reason is
                              classifiable, and an account-level deposit-method
                              instruction never carries the field at all. Treat
                              the values as an open set and ignore any you do
                              not recognise.
                        required:
                          - depositType
                          - currency
                          - referenceCode
                          - amount
                        description: >-
                          Deposit details are being provisioned; poll the
                          order/deposit or wait for webhook
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - IMPS
                          accountNumber:
                            type: string
                            description: Account number
                          bankName:
                            type: string
                            description: Name of the bank
                          accountHolder:
                            type: string
                            description: Name of the account holder
                          ifsc:
                            type: string
                            description: ifsc number
                          type:
                            type: string
                            description: Type of the deposit
                          branch:
                            type: string
                            description: Branch of the bank
                          bank:
                            type: string
                            description: Bank of the account
                          otp:
                            type: string
                            description: OTP of the deposit
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - accountNumber
                          - bankName
                          - accountHolder
                          - ifsc
                          - type
                          - branch
                          - bank
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - UPI
                          vpa:
                            type: string
                            description: Virtual Payment Address
                          name:
                            type: string
                            description: Name of the account holder
                          otp:
                            type: string
                            description: OTP for the transaction
                          paymentLink:
                            type: string
                            description: Payment link
                          upiNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional UPI instructions
                        required:
                          - depositType
                          - vpa
                          - name
                          - otp
                          - paymentLink
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - AED_BANK_TRANSFER
                          iban:
                            type: string
                            description: International Bank Account Number
                          name:
                            type: string
                            description: Name of the account holder
                          bank:
                            type: string
                            description: Bank name
                          type:
                            type: string
                            description: Account type
                          address:
                            type: string
                            description: Bank address
                          email:
                            type: string
                            description: Contact email
                          phoneNumber:
                            type: string
                            description: Contact phone number
                          transferCode:
                            type: string
                            description: Transfer code
                          poBox:
                            type: string
                            description: P.O. Box
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - iban
                          - name
                          - bank
                          - type
                          - address
                          - email
                          - phoneNumber
                          - transferCode
                          - poBox
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - SPEI
                          clabe:
                            type: string
                            description: CLABE number
                          name:
                            type: string
                            description: Name of the account holder
                          bank:
                            type: string
                            description: Bank name
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - clabe
                          - name
                          - bank
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - TRY_BANK_TRANSFER
                          iban:
                            type: string
                            description: International Bank Account Number
                          name:
                            type: string
                            description: Name of the account holder
                          bank:
                            type: string
                            description: Bank name
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - iban
                          - name
                          - bank
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - IDR_BANK_TRANSFER
                          virtualAccount:
                            type: string
                            description: Virtual account number
                          name:
                            type: string
                            description: Name of the account holder
                          bank:
                            type: string
                            description: Bank name
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - virtualAccount
                          - name
                          - bank
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - THAI_QR
                          qrCode:
                            type: string
                            description: QR code
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - qrCode
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - VIET_QR
                          qrCode:
                            type: string
                            description: QR code
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - qrCode
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - GCASH
                          qrCode:
                            type: string
                            description: QR code
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - qrCode
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - ARGENTINA_BANK_TRANSFER
                          accountNumber:
                            type: string
                            description: Account number
                          accountHolder:
                            type: string
                            description: Account holder name
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - accountNumber
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - ACH_US
                          routingNumber:
                            type: string
                            description: US bank ABA routing number
                          accountNumber:
                            type: string
                            description: US bank account number
                          beneficiaryName:
                            type: string
                            description: Beneficiary name on the account
                          bankName:
                            type: string
                            description: Name of the bank
                          bankAddress:
                            type: string
                            description: Address of the bank
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names (e.g. ACH, Wire)
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount in USD
                          referenceCode:
                            type: string
                            minLength: 1
                            description: Reference code to include in the wire/ACH transfer
                        required:
                          - depositType
                          - routingNumber
                          - accountNumber
                          - beneficiaryName
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - ACH_PULL
                        required:
                          - depositType
                        description: >-
                          Funds are pulled from the holder's own linked US bank
                          account; no transfer instructions apply
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - LOCALBANK
                            description: >-
                              Deprecated generic local-bank payin type.
                              Superseded by the corridor-specific deposit types
                              (e.g. SEPA, ACH_US, GBP_BANK_TRANSFER, CLABE/SPEI,
                              PIX, ARGENTINA_BANK_TRANSFER, BANK_DEPOSIT_<CC>).
                              Still returned on some corridors and on historical
                              records, so integrators must continue to handle
                              it. Discover the applicable per-currency method
                              via GET /v1/currencies/{currency}/payin-schema.
                            deprecated: true
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - GBP_BANK_TRANSFER
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: UK bank account number
                          sortCode:
                            type: string
                            description: UK sort code
                          bankName:
                            type: string
                            description: Name of the bank
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          schemes:
                            type: array
                            items:
                              type: string
                            description: >-
                              Accepted payment scheme names (e.g. Faster
                              Payments, CHAPS, BACS)
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount in GBP
                          referenceCode:
                            type: string
                            minLength: 1
                            description: Reference code to include in the transfer
                        required:
                          - depositType
                          - accountHolder
                          - accountNumber
                          - sortCode
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_COL
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CL
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BO
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BR
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_NG
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_KE
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_GH
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZA
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TZ
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_UG
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_RW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZM
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CD
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XOF
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XAF
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_NG
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_KE
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_GH
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZA
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_TZ
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_UG
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_RW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_MW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZM
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_BW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_CD
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_XOF
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_XAF
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                    description: Details of the deposit
                    examples:
                      - accountHolder: John Doe
                        iban: DE8937XXXXXXXXXXXX3000
                        bic: COBADEFFXXX
                        bankName: Commerzbank
                        bankAddress: Mainzer Landstrasse 151-153
                        bankCity: Frankfurt
                        bankZipcode: '60327'
                        bankCountry: DE
                        amount: 1000
                        referenceCode: ABC123
                        depositType: SEPA
                  depositInfoPending:
                    type: boolean
                    description: >-
                      True while the payment instructions are still being
                      prepared. Poll this deposit until it is false (or absent)
                      before showing the instructions to the payer.
                  complianceHold:
                    type: object
                    properties:
                      reason:
                        type: string
                        enum:
                          - screening
                          - fiat_monitoring
                        description: Compliance hold reason
                    required:
                      - reason
                    description: >-
                      Present while the inbound transfer funding this deposit is
                      held in provider compliance review. The deposit stays
                      Reviewing (amount 0, never credited) until the hold clears
                      (promote to Received) or the transfer is rejected/returned
                      (terminalize).
                required:
                  - depositId
                  - createdAt
                  - expectedAmount
                  - amount
                  - currency
                  - fee
                  - expectedFee
                  - feeCurrency
                  - status
                  - depositInfo
                description: Response schema for creating a deposit
        '400':
          description: >-
            Invalid parameters, or a malformed `Idempotency-Key` (over 128
            characters, invalid characters, or the header sent more than once).
            Includes the corridor-selection refusals: an `originNetworkId` that
            is not one the corridor publishes, and an omitted `originNetworkId`
            on a mobile-money corridor that offers more than one network
            (discover the valid ids with GET
            /v1/currencies/{currency}/networks?rail={rail}&rampType=deposit).
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            `Idempotency-Key` conflict: the key was already used with a
            different payload or by a different endpoint, or an identical
            request is still in progress — see the Idempotent writes section of
            the guide
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await fetch("https://api.virtuabroker.com/v1/deposits",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "externalReference": "partner-ref-0001",
                  "userData": {
                    "userType": "individual",
                    "firstName": "John",
                    "lastName": "Doe",
                    "userEmail": "user@virtuabroker.com",
                    "address": "123 Main St, Anytown, ES",
                    "taxDocumentType": "CC",
                    "taxId": "123-45-6789",
                    "country": "ES",
                    "state": "Madrid",
                    "postalCode": "12345",
                    "city": "Madrid",
                    "dob": "1990-01-01",
                    "phoneNumber": "+447700900123",
                    "kycId": "kyc-12345",
                    "activity": "worker"
                  },
                  "userDataId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
                  "originCountry": "CI",
                  "originNetworkId": "3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f",
                  "amount": 100,
                  "currency": "USDC",
                  "rail": "BTC"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/deposits",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "externalReference": "partner-ref-0001",
                    "userData": {
                        "userType": "individual",
                        "firstName": "John",
                        "lastName": "Doe",
                        "userEmail": "user@virtuabroker.com",
                        "address": "123 Main St, Anytown, ES",
                        "taxDocumentType": "CC",
                        "taxId": "123-45-6789",
                        "country": "ES",
                        "state": "Madrid",
                        "postalCode": "12345",
                        "city": "Madrid",
                        "dob": "1990-01-01",
                        "phoneNumber": "+447700900123",
                        "kycId": "kyc-12345",
                        "activity": "worker"
                    },
                    "userDataId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
                    "originCountry": "CI",
                    "originNetworkId": "3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f",
                    "amount": 100,
                    "currency": "USDC",
                    "rail": "BTC"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/deposits" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "externalReference": "partner-ref-0001",
              "userData": {
                "userType": "individual",
                "firstName": "John",
                "lastName": "Doe",
                "userEmail": "user@virtuabroker.com",
                "address": "123 Main St, Anytown, ES",
                "taxDocumentType": "CC",
                "taxId": "123-45-6789",
                "country": "ES",
                "state": "Madrid",
                "postalCode": "12345",
                "city": "Madrid",
                "dob": "1990-01-01",
                "phoneNumber": "+447700900123",
                "kycId": "kyc-12345",
                "activity": "worker"
              },
              "userDataId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
              "originCountry": "CI",
              "originNetworkId": "3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f",
              "amount": 100,
              "currency": "USDC",
              "rail": "BTC"
            }'
    get:
      summary: List deposits
      description: This endpoint retrieves a list of deposits based on various filters.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            anyOf:
              - type: string
                enum:
                  - EUR
                  - USD
                  - GBP
                  - BRL
                  - MXN
                  - ARS
                  - COP
                  - PEN
                  - NGN
                  - KES
                  - TZS
                  - UGX
                  - RWF
                  - MWK
                  - ZMW
                  - XOF
                  - XAF
                  - BWP
              - type: string
                enum:
                  - USDC
                  - USDT
                  - CUSD
                  - BTC
                  - ETH
                  - POL
                  - SOL
                  - TRX
                  - AVAX
                  - XRP
                  - BNB
            description: Optional currency code to filter the deposits
            examples:
              - EUR
          required: false
          description: Optional currency code to filter the deposits
          name: currency
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: minAmount
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: maxAmount
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: from
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: to
          in: query
        - schema:
            type: string
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: >-
              Email of the user making the request. For a business payer this
              matches operations under any of its identities — the
              representative email and the organisation account — so listings
              stay complete across both.
            example: user@example.com
          required: false
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          name: userEmail
          in: query
        - schema:
            type: string
            description: >-
              General search (e.g. email or text). When provided, backend may
              use it for userEmail or text search.
          required: false
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
          name: search
          in: query
        - schema:
            type: integer
            minimum: 1
            description: >-
              Deposits per page. Defaults to 10. A full page means there may be
              more — use `page` to continue, or GET /v1/deposits/count for the
              total. Large pages are accepted; very large ones are bounded by
              the search backend and will report an error rather than silently
              returning fewer rows.
            example: 50
          required: false
          description: >-
            Deposits per page. Defaults to 10. A full page means there may be
            more — use `page` to continue, or GET /v1/deposits/count for the
            total. Large pages are accepted; very large ones are bounded by the
            search backend and will report an error rather than silently
            returning fewer rows.
          name: limit
          in: query
        - schema:
            type: integer
            minimum: 1
            description: 1-based page number. Defaults to 1.
            example: 1
          required: false
          description: 1-based page number. Defaults to 1.
          name: page
          in: query
        - schema:
            anyOf:
              - type: string
                enum:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
                description: >-
                  Common status values that are shared across all operation
                  types
                examples:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
              - type: string
                enum:
                  - PendingCancel
                  - Received
              - type: array
                items:
                  anyOf:
                    - type: string
                      enum:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                      description: >-
                        Common status values that are shared across all
                        operation types
                      examples:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                    - type: string
                      enum:
                        - PendingCancel
                        - Received
                  description: Status for deposit operations
                  examples:
                    - Pending
                    - Success
                    - Failed
                    - Received
                    - PendingCancel
            description: >-
              Optional status to filter deposits. Can be a single status or an
              array of statuses for multiple filtering
            examples:
              - Pending
              - - Pending
                - Success
              - - Pending
                - Processing
                - Success
          required: false
          description: >-
            Optional status to filter deposits. Can be a single status or an
            array of statuses for multiple filtering
          name: status
          in: query
      responses:
        '200':
          description: Successful retrieval of deposits list
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    depositId:
                      type: string
                      minLength: 1
                      description: >-
                        ID of the deposit. Normally a 12-character internal id;
                        deposits created before mid-2026 may carry a longer
                        legacy id. Treat it as an opaque string.
                    externalReference:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: >-
                        Your own reference for this deposit. Stored as-is and
                        returned on create, detail and list, so you can look the
                        deposit up by it after a network timeout instead of
                        retrying blind. Not interpreted by VirtuaBroker and not
                        shown to the payer — for the payer's transfer reference
                        use depositInfo.referenceCode.
                      examples:
                        - partner-ref-0001
                        - inv_2026_00417
                    userData:
                      oneOf:
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            lastName:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: >-
                                Last name of the user making the deposit (or
                                representative for business)
                              examples:
                                - Doe
                                - Smith
                                - Johnson
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - firstName
                            - userEmail
                            - country
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - business
                            businessName:
                              type: string
                              maxLength: 150
                              description: >-
                                Business name (required when userType is
                                business)
                              examples:
                                - Acme Corp
                                - Tech Solutions Inc
                                - Global Services Ltd
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - businessName
                            - firstName
                            - userEmail
                            - country
                      description: User data of the person/company making the deposit
                      examples:
                        - userType: individual
                          firstName: John
                          lastName: Doe
                          userEmail: user@virtuabroker.com
                          address: 123 Main St, Anytown, ES
                          taxId: 123-45-6789
                          country: ES
                        - userType: individual
                          firstName: Alice
                          lastName: Smith
                          userEmail: alice@example.com
                          address: 456 Elm St, Anytown, ES
                          taxId: 987-65-4321
                          country: ES
                    createdAt:
                      type: number
                      description: Creation time of the deposit
                      examples:
                        - 1723027132
                        - 1723027133
                        - 1723027134
                    rail:
                      type: string
                      enum:
                        - BALANCE
                        - SEPA
                        - BTC
                        - ETH
                        - MATIC
                        - POLYGON
                        - CELO
                        - TRON
                        - SOLANA
                        - ARBITRUM
                        - OPTIMISM
                        - AVALANCHE
                        - BSC
                        - BASE
                        - XRP
                        - PIX_BR
                        - UPI
                        - IMPS
                        - TRY_BANK_TRANSFER
                        - AED_BANK_TRANSFER
                        - SPEI
                        - IDR_BANK_TRANSFER
                        - CREDIT_CARD
                        - THAI_QR
                        - VIET_QR
                        - GCASH
                        - ARGENTINA_BANK_TRANSFER
                        - PSE
                        - CLABE
                        - PIX
                        - BANK_DEPOSIT_COL
                        - BANK_DEPOSIT_AR
                        - BANK_DEPOSIT_CL
                        - BANK_DEPOSIT_PE
                        - BANK_DEPOSIT_BO
                        - BANK_DEPOSIT_BR
                        - BANK_DEPOSIT_NG
                        - BANK_DEPOSIT_KE
                        - BANK_DEPOSIT_GH
                        - BANK_DEPOSIT_ZA
                        - BANK_DEPOSIT_TZ
                        - BANK_DEPOSIT_UG
                        - BANK_DEPOSIT_RW
                        - BANK_DEPOSIT_MW
                        - BANK_DEPOSIT_ZM
                        - BANK_DEPOSIT_BW
                        - BANK_DEPOSIT_CD
                        - BANK_DEPOSIT_XOF
                        - BANK_DEPOSIT_XAF
                        - MOBILE_MONEY_NG
                        - MOBILE_MONEY_KE
                        - MOBILE_MONEY_GH
                        - MOBILE_MONEY_ZA
                        - MOBILE_MONEY_TZ
                        - MOBILE_MONEY_UG
                        - MOBILE_MONEY_RW
                        - MOBILE_MONEY_MW
                        - MOBILE_MONEY_ZM
                        - MOBILE_MONEY_BW
                        - MOBILE_MONEY_CD
                        - MOBILE_MONEY_XOF
                        - MOBILE_MONEY_XAF
                        - ACH_US
                        - GBP_BANK_TRANSFER
                      description: Rail of the deposit
                    receivedAt:
                      type: number
                      description: >-
                        Unix ms timestamp of when the funds for this deposit
                        ARRIVED — recorded when the incoming payment is matched
                        to the deposit, which is before it is credited. Present
                        whenever funds have arrived, including a deposit whose
                        funds are still held in review; omitted entirely when no
                        funds ever arrived, so a never-funded or cancelled
                        deposit has no value here and its presence is a reliable
                        settlement signal for reconciliation. Identical on GET
                        /v1/deposits and GET /v1/deposits/{depositId}. Note that
                        the deposit object embedded in order and operation
                        responses does not yet apply this rule — it returns the
                        stored value. Not the creation time — use createdAt for
                        that.
                      examples:
                        - 1723027132000
                        - 1723027133000
                        - 1723027134000
                    expectedAmount:
                      type: number
                      minimum: 0
                      description: Amount expected of the deposit
                      examples:
                        - 1000
                        - 2000
                        - 3000
                    amount:
                      type: number
                      minimum: 0
                      description: Amount received of the deposit
                      examples:
                        - 1000
                        - 2000
                        - 3000
                    currency:
                      anyOf:
                        - type: string
                          enum:
                            - EUR
                            - USD
                            - GBP
                            - BRL
                            - MXN
                            - ARS
                            - COP
                            - PEN
                            - NGN
                            - KES
                            - TZS
                            - UGX
                            - RWF
                            - MWK
                            - ZMW
                            - XOF
                            - XAF
                            - BWP
                        - type: string
                          enum:
                            - USDC
                            - USDT
                            - CUSD
                            - BTC
                            - ETH
                            - POL
                            - SOL
                            - TRX
                            - AVAX
                            - XRP
                            - BNB
                      description: Currency of the deposit
                      examples:
                        - EUR
                        - BRL
                    fee:
                      type: number
                      minimum: 0
                      description: >-
                        Fee for the deposit. This value is written once the
                        deposit has been executed. Meanwhile it will appear 0.
                      example: 10
                    expectedFee:
                      type: number
                      minimum: 0
                      description: >-
                        Fee for the deposit. This value is correlated with the
                        expected amount for the deposit.
                      examples:
                        - 10
                        - 20
                        - 30
                    feeCurrency:
                      anyOf:
                        - type: string
                          enum:
                            - EUR
                            - USD
                            - GBP
                            - BRL
                            - MXN
                            - ARS
                            - COP
                            - PEN
                            - NGN
                            - KES
                            - TZS
                            - UGX
                            - RWF
                            - MWK
                            - ZMW
                            - XOF
                            - XAF
                            - BWP
                        - type: string
                          enum:
                            - USDC
                            - USDT
                            - CUSD
                            - BTC
                            - ETH
                            - POL
                            - SOL
                            - TRX
                            - AVAX
                            - XRP
                            - BNB
                      description: Currency of the fee
                      examples:
                        - EUR
                        - BRL
                    status:
                      anyOf:
                        - type: string
                          enum:
                            - Pending
                            - Processing
                            - Success
                            - Failed
                            - Canceled
                            - Reviewing
                          description: >-
                            Common status values that are shared across all
                            operation types
                          examples:
                            - Pending
                            - Processing
                            - Success
                            - Failed
                            - Canceled
                            - Reviewing
                        - type: string
                          enum:
                            - PendingCancel
                            - Received
                      description: Status of the deposit
                      examples:
                        - Pending
                        - Success
                        - Failed
                        - Received
                        - PendingCancel
                    depositInfo:
                      oneOf:
                        - type: object
                          properties:
                            accountHolder:
                              type: string
                              description: Name of the account holder
                              example: John Doe
                            iban:
                              type: string
                              description: SEPA Bank Account Number
                              example: DE8937XXXXXXXXXXXX3000
                            bic:
                              type: string
                              description: Bank BIC/SWIFT code
                              example: DEUTDEFF
                            bankName:
                              type: string
                              description: Name of the bank
                              example: Deutsche Bank
                            bankAddress:
                              type: string
                              description: Address of the bank
                              example: Taunusanlage 12
                            bankCity:
                              type: string
                              description: City of the bank
                              example: Frankfurt am Main
                            bankZipcode:
                              type: string
                              description: Zipcode of the bank
                              example: '60325'
                            bankCountry:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country of the bank
                              example: DE
                            depositType:
                              type: string
                              enum:
                                - SEPA
                            amount:
                              type: number
                              minimum: 0
                              description: >-
                                Expected deposit amount. It can be 0 for
                                open-amount bank transfers where the sender
                                chooses the final amount from their bank.
                              example: 1000
                            referenceCode:
                              type: string
                              minLength: 1
                              description: >-
                                A unique identifier for the deposit, crucial for
                                matching the deposit with the corresponding
                                order. The user must include this code when
                                making the deposit to ensure accurate
                                processing. In cases where the reference code is
                                incorrect or missing, we manually match orders
                                based on the sender's name and other available
                                details. In case the deposit is not matched, we
                                will mark the order as Reviewing and the system
                                will require manual attention.
                              example: REF123456
                            extraDepositMethods:
                              type: array
                              items:
                                type: object
                                properties:
                                  methodType:
                                    type: string
                                    enum:
                                      - HOSTED_CHECKOUT
                                    description: >-
                                      HOSTED_CHECKOUT: a hosted payment page to
                                      send the payer to (card). More types may
                                      be added — treat an unknown value as
                                      unsupported and fall back to the bank
                                      details in `depositInfo`.
                                  url:
                                    type: string
                                    description: >-
                                      URL to send the payer to. For
                                      HOSTED_CHECKOUT, redirect the payer here
                                      (or embed it) to pay by card.
                                    example: https://checkout.example.com/pay/abc123
                                  callbackUrl:
                                    type: string
                                    description: >-
                                      Where the payer’s BROWSER is returned
                                      after paying. Informational only: it is
                                      not a server-to-server notification, and a
                                      payer landing there is NOT proof of
                                      payment — rely on the deposit status or
                                      webhooks for that.
                                  referenceCode:
                                    type: string
                                    description: >-
                                      Payment reference for this method (equals
                                      the deposit/order reference)
                                  amount:
                                    type: number
                                    description: >-
                                      Amount payable via this method when it
                                      differs from the deposit amount (e.g. a
                                      method-specific surcharge)
                                  currency:
                                    type: string
                                    description: Currency of this method
                                  expiresAt:
                                    type: number
                                    description: >-
                                      Unix ms after which `url` is no longer
                                      valid, when known
                                required:
                                  - methodType
                                  - url
                                description: >-
                                  An additional, optional way to pay this
                                  deposit
                              description: >-
                                Additional, optional ways to pay this same
                                deposit (e.g. a hosted card page). The bank
                                details above remain the primary method; ignore
                                this field if you only support bank transfer.
                          required:
                            - depositType
                            - amount
                            - referenceCode
                          description: >-
                            Detailed information about a bank deposit, including
                            the amount and a unique reference code for
                            identification.
                        - type: object
                          properties:
                            address:
                              type: string
                              minLength: 1
                              description: Crypto wallet address
                              example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                            network:
                              type: string
                              enum:
                                - MATIC
                                - ETH
                                - CELO
                                - TRON
                                - BTC
                                - SOLANA
                                - XRP
                                - CARDANO
                                - BSC
                                - ARBITRUM
                                - OPTIMISM
                                - AVALANCHE
                                - BASE
                              description: Network for the deposit for crypto deposits
                              examples:
                                - ETH
                                - MATIC
                                - CELO
                            memo:
                              type: string
                              description: Optional memo for the transaction
                              example: Payment for services
                            depositType:
                              type: string
                              enum:
                                - CRYPTO
                            qrCode:
                              type: string
                              description: Base64-encoded QR image for the deposit address
                              example: >-
                                iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                            qrCodeUrl:
                              type: string
                              format: uri
                              description: 7-day signed GCS URL of the QR code PNG
                            qrCodeExpiresAt:
                              type: number
                              description: Unix timestamp (ms) when qrCodeUrl expires
                            receivingAddress:
                              type: string
                              description: The wallet address where funds should be sent
                              example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                            tokenContract:
                              type: string
                              description: The ERC20 token contract address
                              example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                            decimals:
                              type: number
                              description: Token decimals (default 18)
                              example: 18
                          required:
                            - address
                            - network
                            - depositType
                          description: Crypto Deposit Information
                        - type: object
                          properties:
                            base64QRCode:
                              type: string
                              minLength: 1
                              description: Base64 encoded QR code
                              example: base64QRCode
                            qrCodeString:
                              type: string
                              minLength: 1
                              description: >-
                                The Pix copy-and-paste code (BR Code payload)
                                the payer pastes into their bank app. Pass it
                                through unchanged — it carries its own checksum.
                              example: qrCodeString
                            referenceCode:
                              type: string
                              minLength: 1
                              description: >-
                                A unique identifier for the deposit, crucial for
                                matching the deposit with the corresponding
                                order
                              example: REF123456
                            amount:
                              type: number
                              minimum: 0
                              exclusiveMinimum: true
                              description: >-
                                The monetary value to be deposited into the
                                bank. This amount should be positive and
                                accurately reflect the intended deposit.
                              example: 1000
                            depositType:
                              type: string
                              enum:
                                - PIX
                          required:
                            - base64QRCode
                            - qrCodeString
                            - referenceCode
                            - amount
                            - depositType
                          description: Pix Deposit Information
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - CREDIT_CARD
                          required:
                            - depositType
                        - type: object
                          properties:
                            bankName:
                              type: string
                              description: >-
                                Name of the bank (present when the rail provides
                                it)
                            accountHolder:
                              type: string
                              description: >-
                                Name of the account holder (present when the
                                rail provides it)
                            clabe:
                              type: string
                              description: CLABE number
                            accountNumber:
                              type: string
                              description: >-
                                Bank account number (e.g. from the BANK_TRANSFER
                                payment method)
                            reference:
                              type: string
                              description: >-
                                Payment reference (e.g. from the BANK_TRANSFER
                                payment method)
                            depositType:
                              type: string
                              enum:
                                - CLABE
                              description: Type of the deposit
                          required:
                            - clabe
                            - depositType
                        - type: object
                          properties:
                            url:
                              type: string
                              description: URL of the PSE payment
                            amountPrefilled:
                              type: boolean
                              description: >-
                                Whether the payment page already carries the
                                amount. When false or absent, the payer must
                                enter it.
                            depositType:
                              type: string
                              enum:
                                - PSE
                              description: Type of the deposit
                          required:
                            - url
                            - depositType
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BALANCE
                          required:
                            - depositType
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - PENDING
                            currency:
                              type: string
                              description: Currency of the deposit
                            referenceCode:
                              type: string
                              description: Reference code for the order/deposit
                            amount:
                              type: number
                              minimum: 0
                              description: >-
                                Expected deposit amount. It can be 0 while bank
                                transfer details are open-amount or still being
                                provisioned.
                            extraDepositMethods:
                              type: array
                              items:
                                type: object
                                properties:
                                  methodType:
                                    type: string
                                    enum:
                                      - HOSTED_CHECKOUT
                                    description: >-
                                      HOSTED_CHECKOUT: a hosted payment page to
                                      send the payer to (card). More types may
                                      be added — treat an unknown value as
                                      unsupported and fall back to the bank
                                      details in `depositInfo`.
                                  url:
                                    type: string
                                    description: >-
                                      URL to send the payer to. For
                                      HOSTED_CHECKOUT, redirect the payer here
                                      (or embed it) to pay by card.
                                    example: https://checkout.example.com/pay/abc123
                                  callbackUrl:
                                    type: string
                                    description: >-
                                      Where the payer’s BROWSER is returned
                                      after paying. Informational only: it is
                                      not a server-to-server notification, and a
                                      payer landing there is NOT proof of
                                      payment — rely on the deposit status or
                                      webhooks for that.
                                  referenceCode:
                                    type: string
                                    description: >-
                                      Payment reference for this method (equals
                                      the deposit/order reference)
                                  amount:
                                    type: number
                                    description: >-
                                      Amount payable via this method when it
                                      differs from the deposit amount (e.g. a
                                      method-specific surcharge)
                                  currency:
                                    type: string
                                    description: Currency of this method
                                  expiresAt:
                                    type: number
                                    description: >-
                                      Unix ms after which `url` is no longer
                                      valid, when known
                                required:
                                  - methodType
                                  - url
                                description: >-
                                  An additional, optional way to pay this
                                  deposit
                              description: >-
                                Additional ways to pay while the bank details
                                are being provisioned (e.g. a hosted card page).
                                Optional — ignore it and wait for the bank
                                details if you only support bank transfer.
                            pendingReason:
                              type: string
                              enum:
                                - collection_account_activating
                                - accountless_per_account_corridor
                              description: >-
                                Why the instructions are still being
                                provisioned, when the reason is known.
                                `collection_account_activating` means the
                                collection account for this payer is being
                                activated and payable details are expected
                                shortly. `accountless_per_account_corridor`
                                means this corridor collects only into a
                                collection account dedicated to the paying
                                account, this request names no account, and none
                                can be created for it — so payable details will
                                NOT arrive by waiting; create the deposit
                                against an account instead. Absence never
                                conveys timing on either surface: here it means
                                only that no reason is classifiable, and an
                                account-level deposit-method instruction never
                                carries the field at all. Treat the values as an
                                open set and ignore any you do not recognise.
                          required:
                            - depositType
                            - currency
                            - referenceCode
                            - amount
                          description: >-
                            Deposit details are being provisioned; poll the
                            order/deposit or wait for webhook
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - IMPS
                            accountNumber:
                              type: string
                              description: Account number
                            bankName:
                              type: string
                              description: Name of the bank
                            accountHolder:
                              type: string
                              description: Name of the account holder
                            ifsc:
                              type: string
                              description: ifsc number
                            type:
                              type: string
                              description: Type of the deposit
                            branch:
                              type: string
                              description: Branch of the bank
                            bank:
                              type: string
                              description: Bank of the account
                            otp:
                              type: string
                              description: OTP of the deposit
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - accountNumber
                            - bankName
                            - accountHolder
                            - ifsc
                            - type
                            - branch
                            - bank
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - UPI
                            vpa:
                              type: string
                              description: Virtual Payment Address
                            name:
                              type: string
                              description: Name of the account holder
                            otp:
                              type: string
                              description: OTP for the transaction
                            paymentLink:
                              type: string
                              description: Payment link
                            upiNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional UPI instructions
                          required:
                            - depositType
                            - vpa
                            - name
                            - otp
                            - paymentLink
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - AED_BANK_TRANSFER
                            iban:
                              type: string
                              description: International Bank Account Number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            type:
                              type: string
                              description: Account type
                            address:
                              type: string
                              description: Bank address
                            email:
                              type: string
                              description: Contact email
                            phoneNumber:
                              type: string
                              description: Contact phone number
                            transferCode:
                              type: string
                              description: Transfer code
                            poBox:
                              type: string
                              description: P.O. Box
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - iban
                            - name
                            - bank
                            - type
                            - address
                            - email
                            - phoneNumber
                            - transferCode
                            - poBox
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - SPEI
                            clabe:
                              type: string
                              description: CLABE number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - clabe
                            - name
                            - bank
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - TRY_BANK_TRANSFER
                            iban:
                              type: string
                              description: International Bank Account Number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - iban
                            - name
                            - bank
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - IDR_BANK_TRANSFER
                            virtualAccount:
                              type: string
                              description: Virtual account number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - virtualAccount
                            - name
                            - bank
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - THAI_QR
                            qrCode:
                              type: string
                              description: QR code
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - qrCode
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - VIET_QR
                            qrCode:
                              type: string
                              description: QR code
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - qrCode
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - GCASH
                            qrCode:
                              type: string
                              description: QR code
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - qrCode
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - ARGENTINA_BANK_TRANSFER
                            accountNumber:
                              type: string
                              description: Account number
                            accountHolder:
                              type: string
                              description: Account holder name
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - accountNumber
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - ACH_US
                            routingNumber:
                              type: string
                              description: US bank ABA routing number
                            accountNumber:
                              type: string
                              description: US bank account number
                            beneficiaryName:
                              type: string
                              description: Beneficiary name on the account
                            bankName:
                              type: string
                              description: Name of the bank
                            bankAddress:
                              type: string
                              description: Address of the bank
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names (e.g. ACH, Wire)
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount in USD
                            referenceCode:
                              type: string
                              minLength: 1
                              description: >-
                                Reference code to include in the wire/ACH
                                transfer
                          required:
                            - depositType
                            - routingNumber
                            - accountNumber
                            - beneficiaryName
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - ACH_PULL
                          required:
                            - depositType
                          description: >-
                            Funds are pulled from the holder's own linked US
                            bank account; no transfer instructions apply
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - LOCALBANK
                              description: >-
                                Deprecated generic local-bank payin type.
                                Superseded by the corridor-specific deposit
                                types (e.g. SEPA, ACH_US, GBP_BANK_TRANSFER,
                                CLABE/SPEI, PIX, ARGENTINA_BANK_TRANSFER,
                                BANK_DEPOSIT_<CC>). Still returned on some
                                corridors and on historical records, so
                                integrators must continue to handle it. Discover
                                the applicable per-currency method via GET
                                /v1/currencies/{currency}/payin-schema.
                              deprecated: true
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - GBP_BANK_TRANSFER
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: UK bank account number
                            sortCode:
                              type: string
                              description: UK sort code
                            bankName:
                              type: string
                              description: Name of the bank
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            schemes:
                              type: array
                              items:
                                type: string
                              description: >-
                                Accepted payment scheme names (e.g. Faster
                                Payments, CHAPS, BACS)
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount in GBP
                            referenceCode:
                              type: string
                              minLength: 1
                              description: Reference code to include in the transfer
                          required:
                            - depositType
                            - accountHolder
                            - accountNumber
                            - sortCode
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_COL
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CL
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BO
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BR
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_NG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_KE
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_GH
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZA
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TZ
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_UG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_RW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZM
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CD
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XOF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XAF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_NG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_KE
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_GH
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZA
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_TZ
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_UG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_RW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_MW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZM
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_BW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_CD
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_XOF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_XAF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                      description: Details of the deposit
                      examples:
                        - accountHolder: John Doe
                          iban: DE8937XXXXXXXXXXXX3000
                          bic: COBADEFFXXX
                          bankName: Commerzbank
                          bankAddress: Mainzer Landstrasse 151-153
                          bankCity: Frankfurt
                          bankZipcode: '60327'
                          bankCountry: DE
                          amount: 1000
                          referenceCode: ABC123
                          depositType: SEPA
                    depositInfoPending:
                      type: boolean
                      description: >-
                        True while the payment instructions are still being
                        prepared. Poll this deposit until it is false (or
                        absent) before showing the instructions to the payer.
                    complianceHold:
                      type: object
                      properties:
                        reason:
                          type: string
                          enum:
                            - screening
                            - fiat_monitoring
                          description: Compliance hold reason
                      required:
                        - reason
                      description: >-
                        Present while the inbound transfer funding this deposit
                        is held in provider compliance review. The deposit stays
                        Reviewing (amount 0, never credited) until the hold
                        clears (promote to Received) or the transfer is
                        rejected/returned (terminalize).
                  required:
                    - depositId
                    - createdAt
                    - expectedAmount
                    - amount
                    - currency
                    - fee
                    - expectedFee
                    - feeCurrency
                    - status
                    - depositInfo
                  description: Deposit Data
                description: Response schema for listing deposits
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await fetch("https://api.virtuabroker.com/v1/deposits",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/deposits",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/deposits" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/deposits/holds:
    get:
      summary: List deposit holds
      description: >-
        Inbound deposits that are held until their origin is declared (Travel
        Rule). A held deposit is not credited until the declaration is filed.
        You are also notified with the `deposit_action_required` webhook.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            enum:
              - declaration_required
              - declaring
              - declared
              - released
            description: >-
              `declaration_required`: the deposit is held until you declare who
              sent it. `declaring`: a declaration is being filed; retry the same
              answer later if the call did not complete. `declared`: the
              declaration was filed; the deposit is credited as usual once
              released. `released`: the deposit is no longer held and no
              declaration from you is needed.
          required: false
          description: >-
            `declaration_required`: the deposit is held until you declare who
            sent it. `declaring`: a declaration is being filed; retry the same
            answer later if the call did not complete. `declared`: the
            declaration was filed; the deposit is credited as usual once
            released. `released`: the deposit is no longer held and no
            declaration from you is needed.
          name: status
          in: query
        - schema:
            type: string
            minLength: 1
            description: Only holds of this account.
          required: false
          description: Only holds of this account.
          name: accountId
          in: query
      responses:
        '200':
          description: Deposit holds of your workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  holds:
                    type: array
                    items:
                      type: object
                      properties:
                        holdId:
                          type: string
                          description: Deposit hold id.
                          example: dhold_3f1c9a7be2d84c01a5f6e9b2
                        accountId:
                          type: string
                          description: Account the deposit belongs to.
                        depositId:
                          type: string
                          nullable: true
                          description: >-
                            The deposit the funds were credited to once
                            released; `null` until then.
                        reason:
                          type: string
                          enum:
                            - travel_rule_origin
                          description: Why the deposit is held.
                        status:
                          type: string
                          enum:
                            - declaration_required
                            - declaring
                            - declared
                            - released
                          description: >-
                            `declaration_required`: the deposit is held until
                            you declare who sent it. `declaring`: a declaration
                            is being filed; retry the same answer later if the
                            call did not complete. `declared`: the declaration
                            was filed; the deposit is credited as usual once
                            released. `released`: the deposit is no longer held
                            and no declaration from you is needed.
                        amount:
                          type: string
                          description: Amount received, as a decimal string.
                          example: '10.00000000'
                        currency:
                          type: string
                          description: Currency received.
                          example: USDC
                        network:
                          type: string
                          description: Network the deposit arrived on.
                          example: BASE
                        heldAt:
                          type: string
                          nullable: true
                          description: When the deposit was received (ISO 8601), if known.
                        createdAt:
                          type: string
                          description: When the hold was recorded (ISO 8601).
                        deadline:
                          nullable: true
                          description: >-
                            Reserved: the time after which the deposit may be
                            returned. Not currently provided.
                        declaration:
                          type: object
                          nullable: true
                          properties:
                            ownership:
                              type: string
                              enum:
                                - own
                                - third_party
                            thirdParty:
                              type: object
                              nullable: true
                              properties:
                                name:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: First name of the person who sent the funds.
                                  example: Daniel
                                surname:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: Surname(s) of the person who sent the funds.
                                  example: García
                              required:
                                - name
                                - surname
                              additionalProperties: false
                            declaredBy:
                              type: string
                              enum:
                                - holder
                                - workspace
                                - ops
                                - remembered
                              description: >-
                                Who answered: the account holder, your
                                workspace, our operations team on the holder’s
                                behalf, or `remembered` — filed automatically
                                because an earlier answer covered the same
                                sending wallet for this account.
                            declaredAt:
                              type: string
                              description: ISO 8601.
                          required:
                            - ownership
                            - thirdParty
                            - declaredBy
                            - declaredAt
                          description: The declaration filed, once there is one.
                      required:
                        - holdId
                        - accountId
                        - depositId
                        - reason
                        - status
                        - amount
                        - currency
                        - network
                        - heldAt
                        - createdAt
                        - deadline
                        - declaration
                      additionalProperties: false
                      description: >-
                        An inbound deposit that is held until its origin is
                        declared.
                required:
                  - holds
                additionalProperties: false
                description: Deposit holds of your workspace (at most 100).
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/holds", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/deposits/holds",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/deposits/holds" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/deposits/holds/{holdId}:
    get:
      summary: Get a deposit hold
      description: One held inbound deposit and, once filed, its origin declaration.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: >-
              Deposit hold id, as returned by the list endpoint or the
              `deposit_action_required` webhook.
            example: dhold_3f1c9a7be2d84c01a5f6e9b2
          required: true
          description: >-
            Deposit hold id, as returned by the list endpoint or the
            `deposit_action_required` webhook.
          name: holdId
          in: path
      responses:
        '200':
          description: The deposit hold
          content:
            application/json:
              schema:
                type: object
                properties:
                  holdId:
                    type: string
                    description: Deposit hold id.
                    example: dhold_3f1c9a7be2d84c01a5f6e9b2
                  accountId:
                    type: string
                    description: Account the deposit belongs to.
                  depositId:
                    type: string
                    nullable: true
                    description: >-
                      The deposit the funds were credited to once released;
                      `null` until then.
                  reason:
                    type: string
                    enum:
                      - travel_rule_origin
                    description: Why the deposit is held.
                  status:
                    type: string
                    enum:
                      - declaration_required
                      - declaring
                      - declared
                      - released
                    description: >-
                      `declaration_required`: the deposit is held until you
                      declare who sent it. `declaring`: a declaration is being
                      filed; retry the same answer later if the call did not
                      complete. `declared`: the declaration was filed; the
                      deposit is credited as usual once released. `released`:
                      the deposit is no longer held and no declaration from you
                      is needed.
                  amount:
                    type: string
                    description: Amount received, as a decimal string.
                    example: '10.00000000'
                  currency:
                    type: string
                    description: Currency received.
                    example: USDC
                  network:
                    type: string
                    description: Network the deposit arrived on.
                    example: BASE
                  heldAt:
                    type: string
                    nullable: true
                    description: When the deposit was received (ISO 8601), if known.
                  createdAt:
                    type: string
                    description: When the hold was recorded (ISO 8601).
                  deadline:
                    nullable: true
                    description: >-
                      Reserved: the time after which the deposit may be
                      returned. Not currently provided.
                  declaration:
                    type: object
                    nullable: true
                    properties:
                      ownership:
                        type: string
                        enum:
                          - own
                          - third_party
                      thirdParty:
                        type: object
                        nullable: true
                        properties:
                          name:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: First name of the person who sent the funds.
                            example: Daniel
                          surname:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: Surname(s) of the person who sent the funds.
                            example: García
                        required:
                          - name
                          - surname
                        additionalProperties: false
                      declaredBy:
                        type: string
                        enum:
                          - holder
                          - workspace
                          - ops
                          - remembered
                        description: >-
                          Who answered: the account holder, your workspace, our
                          operations team on the holder’s behalf, or
                          `remembered` — filed automatically because an earlier
                          answer covered the same sending wallet for this
                          account.
                      declaredAt:
                        type: string
                        description: ISO 8601.
                    required:
                      - ownership
                      - thirdParty
                      - declaredBy
                      - declaredAt
                    description: The declaration filed, once there is one.
                required:
                  - holdId
                  - accountId
                  - depositId
                  - reason
                  - status
                  - amount
                  - currency
                  - network
                  - heldAt
                  - createdAt
                  - deadline
                  - declaration
                additionalProperties: false
                description: An inbound deposit that is held until its origin is declared.
        '404':
          description: Deposit hold not found (or not in your workspace)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/holds/YOUR_HOLDID",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/deposits/holds/YOUR_HOLDID",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/deposits/holds/YOUR_HOLDID" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/deposits/holds/{holdId}/travel-rule:
    post:
      summary: Declare the origin of a held deposit
      description: >-
        Declares who owns the wallet the deposit came from: `own` (the account
        holder) or `third_party` with the sender’s `name`, `surname` and postal
        `address` (`street`, `city`, `zip`, `countryCode` as ISO 3166-1 alpha-2)
        — all required. Idempotent: repeating the same answer returns the
        current state; a different answer after one was filed is refused (409).
        Refused with 409 when the deposit is no longer held or a declaration is
        already being filed (retry the same answer later).
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: >-
              Deposit hold id, as returned by the list endpoint or the
              `deposit_action_required` webhook.
            example: dhold_3f1c9a7be2d84c01a5f6e9b2
          required: true
          description: >-
            Deposit hold id, as returned by the list endpoint or the
            `deposit_action_required` webhook.
          name: holdId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    ownership:
                      type: string
                      enum:
                        - own
                      description: The sending wallet belongs to the account holder.
                  required:
                    - ownership
                  additionalProperties: false
                - type: object
                  properties:
                    ownership:
                      type: string
                      enum:
                        - third_party
                      description: The funds were sent by someone else.
                    thirdParty:
                      type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: First name of the person who sent the funds.
                          example: Daniel
                        surname:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: Surname(s) of the person who sent the funds.
                          example: García
                        address:
                          type: object
                          properties:
                            street:
                              type: string
                              minLength: 1
                              maxLength: 200
                              description: Street and number of the sender’s address.
                              example: Calle Mayor 1
                            city:
                              type: string
                              minLength: 1
                              maxLength: 200
                              description: City of the sender’s address.
                              example: Madrid
                            zip:
                              type: string
                              minLength: 1
                              maxLength: 200
                              description: Postal code of the sender’s address.
                              example: '28013'
                            countryCode:
                              type: string
                              pattern: ^[A-Z]{2}$
                              description: >-
                                Country of the sender’s address (ISO 3166-1
                                alpha-2, e.g. `ES`).
                              example: ES
                          required:
                            - street
                            - city
                            - zip
                            - countryCode
                          additionalProperties: false
                          description: Postal address of the person who sent the funds.
                      required:
                        - name
                        - surname
                        - address
                      additionalProperties: false
                  required:
                    - ownership
                    - thirdParty
                  additionalProperties: false
              description: Who owns the wallet the deposit came from (Travel Rule origin).
              example:
                ownership: own
      responses:
        '200':
          description: The deposit hold with the filed declaration
          content:
            application/json:
              schema:
                type: object
                properties:
                  holdId:
                    type: string
                    description: Deposit hold id.
                    example: dhold_3f1c9a7be2d84c01a5f6e9b2
                  accountId:
                    type: string
                    description: Account the deposit belongs to.
                  depositId:
                    type: string
                    nullable: true
                    description: >-
                      The deposit the funds were credited to once released;
                      `null` until then.
                  reason:
                    type: string
                    enum:
                      - travel_rule_origin
                    description: Why the deposit is held.
                  status:
                    type: string
                    enum:
                      - declaration_required
                      - declaring
                      - declared
                      - released
                    description: >-
                      `declaration_required`: the deposit is held until you
                      declare who sent it. `declaring`: a declaration is being
                      filed; retry the same answer later if the call did not
                      complete. `declared`: the declaration was filed; the
                      deposit is credited as usual once released. `released`:
                      the deposit is no longer held and no declaration from you
                      is needed.
                  amount:
                    type: string
                    description: Amount received, as a decimal string.
                    example: '10.00000000'
                  currency:
                    type: string
                    description: Currency received.
                    example: USDC
                  network:
                    type: string
                    description: Network the deposit arrived on.
                    example: BASE
                  heldAt:
                    type: string
                    nullable: true
                    description: When the deposit was received (ISO 8601), if known.
                  createdAt:
                    type: string
                    description: When the hold was recorded (ISO 8601).
                  deadline:
                    nullable: true
                    description: >-
                      Reserved: the time after which the deposit may be
                      returned. Not currently provided.
                  declaration:
                    type: object
                    nullable: true
                    properties:
                      ownership:
                        type: string
                        enum:
                          - own
                          - third_party
                      thirdParty:
                        type: object
                        nullable: true
                        properties:
                          name:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: First name of the person who sent the funds.
                            example: Daniel
                          surname:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: Surname(s) of the person who sent the funds.
                            example: García
                        required:
                          - name
                          - surname
                        additionalProperties: false
                      declaredBy:
                        type: string
                        enum:
                          - holder
                          - workspace
                          - ops
                          - remembered
                        description: >-
                          Who answered: the account holder, your workspace, our
                          operations team on the holder’s behalf, or
                          `remembered` — filed automatically because an earlier
                          answer covered the same sending wallet for this
                          account.
                      declaredAt:
                        type: string
                        description: ISO 8601.
                    required:
                      - ownership
                      - thirdParty
                      - declaredBy
                      - declaredAt
                    description: The declaration filed, once there is one.
                required:
                  - holdId
                  - accountId
                  - depositId
                  - reason
                  - status
                  - amount
                  - currency
                  - network
                  - heldAt
                  - createdAt
                  - deadline
                  - declaration
                additionalProperties: false
                description: An inbound deposit that is held until its origin is declared.
        '400':
          description: >-
            Invalid answer: a `third_party` answer without name, surname or a
            complete address. The error names each missing or invalid field.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Deposit hold not found (or not in your workspace)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            The deposit is no longer held, already carries a different
            declaration, or one is being filed
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/holds/YOUR_HOLDID/travel-rule",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "ownership": "own"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/deposits/holds/YOUR_HOLDID/travel-rule",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "ownership": "own"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/deposits/holds/YOUR_HOLDID/travel-rule"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "ownership": "own"
            }'
  /v1/deposits/{depositId}:
    get:
      summary: Get deposit details
      description: This endpoint retrieves details of a specific deposit.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 12
            maxLength: 12
            pattern: ^[A-Z0-9]{12}$
            description: ID of the deposit
            examples:
              - 01CLFXMT67II
              - 2R7E5Y5KFXP8
              - 4FWWRE3Y2URM
          required: true
          description: ID of the deposit
          name: depositId
          in: path
      responses:
        '200':
          description: Successful retrieval of deposit details
          content:
            application/json:
              schema:
                type: object
                properties:
                  depositId:
                    type: string
                    minLength: 1
                    description: >-
                      ID of the deposit. Normally a 12-character internal id;
                      deposits created before mid-2026 may carry a longer legacy
                      id. Treat it as an opaque string.
                  externalReference:
                    type: string
                    minLength: 1
                    maxLength: 128
                    description: >-
                      Your own reference for this deposit. Stored as-is and
                      returned on create, detail and list, so you can look the
                      deposit up by it after a network timeout instead of
                      retrying blind. Not interpreted by VirtuaBroker and not
                      shown to the payer — for the payer's transfer reference
                      use depositInfo.referenceCode.
                    examples:
                      - partner-ref-0001
                      - inv_2026_00417
                  userData:
                    oneOf:
                      - type: object
                        properties:
                          userType:
                            type: string
                            enum:
                              - individual
                          firstName:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: >-
                              First name of the user making the deposit (or
                              representative for business)
                            examples:
                              - John
                              - Alice
                              - Bob
                          lastName:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: >-
                              Last name of the user making the deposit (or
                              representative for business)
                            examples:
                              - Doe
                              - Smith
                              - Johnson
                          userEmail:
                            type: string
                            maxLength: 254
                            format: email
                            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                            description: Email of the user making the deposit
                            examples:
                              - user@virtuabroker.com
                              - john.doe@example.com
                              - alice@example.com
                          address:
                            type: string
                            maxLength: 150
                            description: Address of the user making the deposit
                            examples:
                              - 123 Main St, Anytown, ES
                              - 456 Elm St, Anytown, ES
                              - 789 Oak St, Anytown, ES
                          taxDocumentType:
                            type: string
                            maxLength: 50
                            description: >-
                              Tax document type of the user making the deposit.
                              Common values: DNI, NIE, PASSPORT, CC, NIT, CE,
                              NIF, but any string is accepted.
                            examples:
                              - CC
                              - NIT
                              - CE
                              - NIF
                              - Other
                          taxId:
                            type: string
                            maxLength: 30
                            description: Tax ID of the user making the deposit
                            examples:
                              - 123-45-6789
                              - 987-65-4321
                              - 111-22-3333
                          country:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country code of the user making the deposit
                            examples:
                              - ES
                              - US
                              - GB
                          state:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: State of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          postalCode:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Postal code of the user making the deposit
                            examples:
                              - '12345'
                              - '67890'
                              - abcde
                          city:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: City of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          dob:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Date of birth of the user making the deposit
                            examples:
                              - '1990-01-01'
                              - '1995-05-15'
                              - '1988-12-31'
                          phoneNumber:
                            type: string
                            maxLength: 30
                            description: Phone number of the user making the deposit
                            examples:
                              - '+447700900123'
                              - '+447700900456'
                              - '+447700900789'
                          kycId:
                            type: string
                            minLength: 1
                            maxLength: 300
                            description: >-
                              KYC ID of the user making the deposit on your
                              platform (if the KYC is done by you, add the url)
                            examples:
                              - kyc-12345
                              - kyc-67890
                              - kyc-abcde
                          activity:
                            type: string
                            description: Activity of the user making the deposit
                            examples:
                              - worker
                              - business
                              - student
                        required:
                          - userType
                          - firstName
                          - userEmail
                          - country
                      - type: object
                        properties:
                          userType:
                            type: string
                            enum:
                              - business
                          businessName:
                            type: string
                            maxLength: 150
                            description: Business name (required when userType is business)
                            examples:
                              - Acme Corp
                              - Tech Solutions Inc
                              - Global Services Ltd
                          firstName:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: >-
                              First name of the user making the deposit (or
                              representative for business)
                            examples:
                              - John
                              - Alice
                              - Bob
                          userEmail:
                            type: string
                            maxLength: 254
                            format: email
                            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                            description: Email of the user making the deposit
                            examples:
                              - user@virtuabroker.com
                              - john.doe@example.com
                              - alice@example.com
                          address:
                            type: string
                            maxLength: 150
                            description: Address of the user making the deposit
                            examples:
                              - 123 Main St, Anytown, ES
                              - 456 Elm St, Anytown, ES
                              - 789 Oak St, Anytown, ES
                          taxDocumentType:
                            type: string
                            maxLength: 50
                            description: >-
                              Tax document type of the user making the deposit.
                              Common values: DNI, NIE, PASSPORT, CC, NIT, CE,
                              NIF, but any string is accepted.
                            examples:
                              - CC
                              - NIT
                              - CE
                              - NIF
                              - Other
                          taxId:
                            type: string
                            maxLength: 30
                            description: Tax ID of the user making the deposit
                            examples:
                              - 123-45-6789
                              - 987-65-4321
                              - 111-22-3333
                          country:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country code of the user making the deposit
                            examples:
                              - ES
                              - US
                              - GB
                          state:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: State of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          postalCode:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Postal code of the user making the deposit
                            examples:
                              - '12345'
                              - '67890'
                              - abcde
                          city:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: City of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          dob:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Date of birth of the user making the deposit
                            examples:
                              - '1990-01-01'
                              - '1995-05-15'
                              - '1988-12-31'
                          phoneNumber:
                            type: string
                            maxLength: 30
                            description: Phone number of the user making the deposit
                            examples:
                              - '+447700900123'
                              - '+447700900456'
                              - '+447700900789'
                          kycId:
                            type: string
                            minLength: 1
                            maxLength: 300
                            description: >-
                              KYC ID of the user making the deposit on your
                              platform (if the KYC is done by you, add the url)
                            examples:
                              - kyc-12345
                              - kyc-67890
                              - kyc-abcde
                          activity:
                            type: string
                            description: Activity of the user making the deposit
                            examples:
                              - worker
                              - business
                              - student
                        required:
                          - userType
                          - businessName
                          - firstName
                          - userEmail
                          - country
                    description: User data of the person/company making the deposit
                    examples:
                      - userType: individual
                        firstName: John
                        lastName: Doe
                        userEmail: user@virtuabroker.com
                        address: 123 Main St, Anytown, ES
                        taxId: 123-45-6789
                        country: ES
                      - userType: individual
                        firstName: Alice
                        lastName: Smith
                        userEmail: alice@example.com
                        address: 456 Elm St, Anytown, ES
                        taxId: 987-65-4321
                        country: ES
                  createdAt:
                    type: number
                    description: Creation time of the deposit
                    examples:
                      - 1723027132
                      - 1723027133
                      - 1723027134
                  rail:
                    type: string
                    enum:
                      - BALANCE
                      - SEPA
                      - BTC
                      - ETH
                      - MATIC
                      - POLYGON
                      - CELO
                      - TRON
                      - SOLANA
                      - ARBITRUM
                      - OPTIMISM
                      - AVALANCHE
                      - BSC
                      - BASE
                      - XRP
                      - PIX_BR
                      - UPI
                      - IMPS
                      - TRY_BANK_TRANSFER
                      - AED_BANK_TRANSFER
                      - SPEI
                      - IDR_BANK_TRANSFER
                      - CREDIT_CARD
                      - THAI_QR
                      - VIET_QR
                      - GCASH
                      - ARGENTINA_BANK_TRANSFER
                      - PSE
                      - CLABE
                      - PIX
                      - BANK_DEPOSIT_COL
                      - BANK_DEPOSIT_AR
                      - BANK_DEPOSIT_CL
                      - BANK_DEPOSIT_PE
                      - BANK_DEPOSIT_BO
                      - BANK_DEPOSIT_BR
                      - BANK_DEPOSIT_NG
                      - BANK_DEPOSIT_KE
                      - BANK_DEPOSIT_GH
                      - BANK_DEPOSIT_ZA
                      - BANK_DEPOSIT_TZ
                      - BANK_DEPOSIT_UG
                      - BANK_DEPOSIT_RW
                      - BANK_DEPOSIT_MW
                      - BANK_DEPOSIT_ZM
                      - BANK_DEPOSIT_BW
                      - BANK_DEPOSIT_CD
                      - BANK_DEPOSIT_XOF
                      - BANK_DEPOSIT_XAF
                      - MOBILE_MONEY_NG
                      - MOBILE_MONEY_KE
                      - MOBILE_MONEY_GH
                      - MOBILE_MONEY_ZA
                      - MOBILE_MONEY_TZ
                      - MOBILE_MONEY_UG
                      - MOBILE_MONEY_RW
                      - MOBILE_MONEY_MW
                      - MOBILE_MONEY_ZM
                      - MOBILE_MONEY_BW
                      - MOBILE_MONEY_CD
                      - MOBILE_MONEY_XOF
                      - MOBILE_MONEY_XAF
                      - ACH_US
                      - GBP_BANK_TRANSFER
                    description: Rail of the deposit
                  receivedAt:
                    type: number
                    description: >-
                      Unix ms timestamp of when the funds for this deposit
                      ARRIVED — recorded when the incoming payment is matched to
                      the deposit, which is before it is credited. Present
                      whenever funds have arrived, including a deposit whose
                      funds are still held in review; omitted entirely when no
                      funds ever arrived, so a never-funded or cancelled deposit
                      has no value here and its presence is a reliable
                      settlement signal for reconciliation. Identical on GET
                      /v1/deposits and GET /v1/deposits/{depositId}. Note that
                      the deposit object embedded in order and operation
                      responses does not yet apply this rule — it returns the
                      stored value. Not the creation time — use createdAt for
                      that.
                    examples:
                      - 1723027132000
                      - 1723027133000
                      - 1723027134000
                  expectedAmount:
                    type: number
                    minimum: 0
                    description: Amount expected of the deposit
                    examples:
                      - 1000
                      - 2000
                      - 3000
                  amount:
                    type: number
                    minimum: 0
                    description: Amount received of the deposit
                    examples:
                      - 1000
                      - 2000
                      - 3000
                  currency:
                    anyOf:
                      - type: string
                        enum:
                          - EUR
                          - USD
                          - GBP
                          - BRL
                          - MXN
                          - ARS
                          - COP
                          - PEN
                          - NGN
                          - KES
                          - TZS
                          - UGX
                          - RWF
                          - MWK
                          - ZMW
                          - XOF
                          - XAF
                          - BWP
                      - type: string
                        enum:
                          - USDC
                          - USDT
                          - CUSD
                          - BTC
                          - ETH
                          - POL
                          - SOL
                          - TRX
                          - AVAX
                          - XRP
                          - BNB
                    description: Currency of the deposit
                    examples:
                      - EUR
                      - BRL
                  fee:
                    type: number
                    minimum: 0
                    description: >-
                      Fee for the deposit. This value is written once the
                      deposit has been executed. Meanwhile it will appear 0.
                    example: 10
                  expectedFee:
                    type: number
                    minimum: 0
                    description: >-
                      Fee for the deposit. This value is correlated with the
                      expected amount for the deposit.
                    examples:
                      - 10
                      - 20
                      - 30
                  feeCurrency:
                    anyOf:
                      - type: string
                        enum:
                          - EUR
                          - USD
                          - GBP
                          - BRL
                          - MXN
                          - ARS
                          - COP
                          - PEN
                          - NGN
                          - KES
                          - TZS
                          - UGX
                          - RWF
                          - MWK
                          - ZMW
                          - XOF
                          - XAF
                          - BWP
                      - type: string
                        enum:
                          - USDC
                          - USDT
                          - CUSD
                          - BTC
                          - ETH
                          - POL
                          - SOL
                          - TRX
                          - AVAX
                          - XRP
                          - BNB
                    description: Currency of the fee
                    examples:
                      - EUR
                      - BRL
                  status:
                    anyOf:
                      - type: string
                        enum:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                        description: >-
                          Common status values that are shared across all
                          operation types
                        examples:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                      - type: string
                        enum:
                          - PendingCancel
                          - Received
                    description: Status of the deposit
                    examples:
                      - Pending
                      - Success
                      - Failed
                      - Received
                      - PendingCancel
                  depositInfo:
                    oneOf:
                      - type: object
                        properties:
                          accountHolder:
                            type: string
                            description: Name of the account holder
                            example: John Doe
                          iban:
                            type: string
                            description: SEPA Bank Account Number
                            example: DE8937XXXXXXXXXXXX3000
                          bic:
                            type: string
                            description: Bank BIC/SWIFT code
                            example: DEUTDEFF
                          bankName:
                            type: string
                            description: Name of the bank
                            example: Deutsche Bank
                          bankAddress:
                            type: string
                            description: Address of the bank
                            example: Taunusanlage 12
                          bankCity:
                            type: string
                            description: City of the bank
                            example: Frankfurt am Main
                          bankZipcode:
                            type: string
                            description: Zipcode of the bank
                            example: '60325'
                          bankCountry:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country of the bank
                            example: DE
                          depositType:
                            type: string
                            enum:
                              - SEPA
                          amount:
                            type: number
                            minimum: 0
                            description: >-
                              Expected deposit amount. It can be 0 for
                              open-amount bank transfers where the sender
                              chooses the final amount from their bank.
                            example: 1000
                          referenceCode:
                            type: string
                            minLength: 1
                            description: >-
                              A unique identifier for the deposit, crucial for
                              matching the deposit with the corresponding order.
                              The user must include this code when making the
                              deposit to ensure accurate processing. In cases
                              where the reference code is incorrect or missing,
                              we manually match orders based on the sender's
                              name and other available details. In case the
                              deposit is not matched, we will mark the order as
                              Reviewing and the system will require manual
                              attention.
                            example: REF123456
                          extraDepositMethods:
                            type: array
                            items:
                              type: object
                              properties:
                                methodType:
                                  type: string
                                  enum:
                                    - HOSTED_CHECKOUT
                                  description: >-
                                    HOSTED_CHECKOUT: a hosted payment page to
                                    send the payer to (card). More types may be
                                    added — treat an unknown value as
                                    unsupported and fall back to the bank
                                    details in `depositInfo`.
                                url:
                                  type: string
                                  description: >-
                                    URL to send the payer to. For
                                    HOSTED_CHECKOUT, redirect the payer here (or
                                    embed it) to pay by card.
                                  example: https://checkout.example.com/pay/abc123
                                callbackUrl:
                                  type: string
                                  description: >-
                                    Where the payer’s BROWSER is returned after
                                    paying. Informational only: it is not a
                                    server-to-server notification, and a payer
                                    landing there is NOT proof of payment — rely
                                    on the deposit status or webhooks for that.
                                referenceCode:
                                  type: string
                                  description: >-
                                    Payment reference for this method (equals
                                    the deposit/order reference)
                                amount:
                                  type: number
                                  description: >-
                                    Amount payable via this method when it
                                    differs from the deposit amount (e.g. a
                                    method-specific surcharge)
                                currency:
                                  type: string
                                  description: Currency of this method
                                expiresAt:
                                  type: number
                                  description: >-
                                    Unix ms after which `url` is no longer
                                    valid, when known
                              required:
                                - methodType
                                - url
                              description: An additional, optional way to pay this deposit
                            description: >-
                              Additional, optional ways to pay this same deposit
                              (e.g. a hosted card page). The bank details above
                              remain the primary method; ignore this field if
                              you only support bank transfer.
                        required:
                          - depositType
                          - amount
                          - referenceCode
                        description: >-
                          Detailed information about a bank deposit, including
                          the amount and a unique reference code for
                          identification.
                      - type: object
                        properties:
                          address:
                            type: string
                            minLength: 1
                            description: Crypto wallet address
                            example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                          network:
                            type: string
                            enum:
                              - MATIC
                              - ETH
                              - CELO
                              - TRON
                              - BTC
                              - SOLANA
                              - XRP
                              - CARDANO
                              - BSC
                              - ARBITRUM
                              - OPTIMISM
                              - AVALANCHE
                              - BASE
                            description: Network for the deposit for crypto deposits
                            examples:
                              - ETH
                              - MATIC
                              - CELO
                          memo:
                            type: string
                            description: Optional memo for the transaction
                            example: Payment for services
                          depositType:
                            type: string
                            enum:
                              - CRYPTO
                          qrCode:
                            type: string
                            description: Base64-encoded QR image for the deposit address
                            example: >-
                              iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                          qrCodeUrl:
                            type: string
                            format: uri
                            description: 7-day signed GCS URL of the QR code PNG
                          qrCodeExpiresAt:
                            type: number
                            description: Unix timestamp (ms) when qrCodeUrl expires
                          receivingAddress:
                            type: string
                            description: The wallet address where funds should be sent
                            example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                          tokenContract:
                            type: string
                            description: The ERC20 token contract address
                            example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                          decimals:
                            type: number
                            description: Token decimals (default 18)
                            example: 18
                        required:
                          - address
                          - network
                          - depositType
                        description: Crypto Deposit Information
                      - type: object
                        properties:
                          base64QRCode:
                            type: string
                            minLength: 1
                            description: Base64 encoded QR code
                            example: base64QRCode
                          qrCodeString:
                            type: string
                            minLength: 1
                            description: >-
                              The Pix copy-and-paste code (BR Code payload) the
                              payer pastes into their bank app. Pass it through
                              unchanged — it carries its own checksum.
                            example: qrCodeString
                          referenceCode:
                            type: string
                            minLength: 1
                            description: >-
                              A unique identifier for the deposit, crucial for
                              matching the deposit with the corresponding order
                            example: REF123456
                          amount:
                            type: number
                            minimum: 0
                            exclusiveMinimum: true
                            description: >-
                              The monetary value to be deposited into the bank.
                              This amount should be positive and accurately
                              reflect the intended deposit.
                            example: 1000
                          depositType:
                            type: string
                            enum:
                              - PIX
                        required:
                          - base64QRCode
                          - qrCodeString
                          - referenceCode
                          - amount
                          - depositType
                        description: Pix Deposit Information
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - CREDIT_CARD
                        required:
                          - depositType
                      - type: object
                        properties:
                          bankName:
                            type: string
                            description: >-
                              Name of the bank (present when the rail provides
                              it)
                          accountHolder:
                            type: string
                            description: >-
                              Name of the account holder (present when the rail
                              provides it)
                          clabe:
                            type: string
                            description: CLABE number
                          accountNumber:
                            type: string
                            description: >-
                              Bank account number (e.g. from the BANK_TRANSFER
                              payment method)
                          reference:
                            type: string
                            description: >-
                              Payment reference (e.g. from the BANK_TRANSFER
                              payment method)
                          depositType:
                            type: string
                            enum:
                              - CLABE
                            description: Type of the deposit
                        required:
                          - clabe
                          - depositType
                      - type: object
                        properties:
                          url:
                            type: string
                            description: URL of the PSE payment
                          amountPrefilled:
                            type: boolean
                            description: >-
                              Whether the payment page already carries the
                              amount. When false or absent, the payer must enter
                              it.
                          depositType:
                            type: string
                            enum:
                              - PSE
                            description: Type of the deposit
                        required:
                          - url
                          - depositType
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BALANCE
                        required:
                          - depositType
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - PENDING
                          currency:
                            type: string
                            description: Currency of the deposit
                          referenceCode:
                            type: string
                            description: Reference code for the order/deposit
                          amount:
                            type: number
                            minimum: 0
                            description: >-
                              Expected deposit amount. It can be 0 while bank
                              transfer details are open-amount or still being
                              provisioned.
                          extraDepositMethods:
                            type: array
                            items:
                              type: object
                              properties:
                                methodType:
                                  type: string
                                  enum:
                                    - HOSTED_CHECKOUT
                                  description: >-
                                    HOSTED_CHECKOUT: a hosted payment page to
                                    send the payer to (card). More types may be
                                    added — treat an unknown value as
                                    unsupported and fall back to the bank
                                    details in `depositInfo`.
                                url:
                                  type: string
                                  description: >-
                                    URL to send the payer to. For
                                    HOSTED_CHECKOUT, redirect the payer here (or
                                    embed it) to pay by card.
                                  example: https://checkout.example.com/pay/abc123
                                callbackUrl:
                                  type: string
                                  description: >-
                                    Where the payer’s BROWSER is returned after
                                    paying. Informational only: it is not a
                                    server-to-server notification, and a payer
                                    landing there is NOT proof of payment — rely
                                    on the deposit status or webhooks for that.
                                referenceCode:
                                  type: string
                                  description: >-
                                    Payment reference for this method (equals
                                    the deposit/order reference)
                                amount:
                                  type: number
                                  description: >-
                                    Amount payable via this method when it
                                    differs from the deposit amount (e.g. a
                                    method-specific surcharge)
                                currency:
                                  type: string
                                  description: Currency of this method
                                expiresAt:
                                  type: number
                                  description: >-
                                    Unix ms after which `url` is no longer
                                    valid, when known
                              required:
                                - methodType
                                - url
                              description: An additional, optional way to pay this deposit
                            description: >-
                              Additional ways to pay while the bank details are
                              being provisioned (e.g. a hosted card page).
                              Optional — ignore it and wait for the bank details
                              if you only support bank transfer.
                          pendingReason:
                            type: string
                            enum:
                              - collection_account_activating
                              - accountless_per_account_corridor
                            description: >-
                              Why the instructions are still being provisioned,
                              when the reason is known.
                              `collection_account_activating` means the
                              collection account for this payer is being
                              activated and payable details are expected
                              shortly. `accountless_per_account_corridor` means
                              this corridor collects only into a collection
                              account dedicated to the paying account, this
                              request names no account, and none can be created
                              for it — so payable details will NOT arrive by
                              waiting; create the deposit against an account
                              instead. Absence never conveys timing on either
                              surface: here it means only that no reason is
                              classifiable, and an account-level deposit-method
                              instruction never carries the field at all. Treat
                              the values as an open set and ignore any you do
                              not recognise.
                        required:
                          - depositType
                          - currency
                          - referenceCode
                          - amount
                        description: >-
                          Deposit details are being provisioned; poll the
                          order/deposit or wait for webhook
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - IMPS
                          accountNumber:
                            type: string
                            description: Account number
                          bankName:
                            type: string
                            description: Name of the bank
                          accountHolder:
                            type: string
                            description: Name of the account holder
                          ifsc:
                            type: string
                            description: ifsc number
                          type:
                            type: string
                            description: Type of the deposit
                          branch:
                            type: string
                            description: Branch of the bank
                          bank:
                            type: string
                            description: Bank of the account
                          otp:
                            type: string
                            description: OTP of the deposit
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - accountNumber
                          - bankName
                          - accountHolder
                          - ifsc
                          - type
                          - branch
                          - bank
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - UPI
                          vpa:
                            type: string
                            description: Virtual Payment Address
                          name:
                            type: string
                            description: Name of the account holder
                          otp:
                            type: string
                            description: OTP for the transaction
                          paymentLink:
                            type: string
                            description: Payment link
                          upiNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional UPI instructions
                        required:
                          - depositType
                          - vpa
                          - name
                          - otp
                          - paymentLink
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - AED_BANK_TRANSFER
                          iban:
                            type: string
                            description: International Bank Account Number
                          name:
                            type: string
                            description: Name of the account holder
                          bank:
                            type: string
                            description: Bank name
                          type:
                            type: string
                            description: Account type
                          address:
                            type: string
                            description: Bank address
                          email:
                            type: string
                            description: Contact email
                          phoneNumber:
                            type: string
                            description: Contact phone number
                          transferCode:
                            type: string
                            description: Transfer code
                          poBox:
                            type: string
                            description: P.O. Box
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - iban
                          - name
                          - bank
                          - type
                          - address
                          - email
                          - phoneNumber
                          - transferCode
                          - poBox
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - SPEI
                          clabe:
                            type: string
                            description: CLABE number
                          name:
                            type: string
                            description: Name of the account holder
                          bank:
                            type: string
                            description: Bank name
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - clabe
                          - name
                          - bank
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - TRY_BANK_TRANSFER
                          iban:
                            type: string
                            description: International Bank Account Number
                          name:
                            type: string
                            description: Name of the account holder
                          bank:
                            type: string
                            description: Bank name
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - iban
                          - name
                          - bank
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - IDR_BANK_TRANSFER
                          virtualAccount:
                            type: string
                            description: Virtual account number
                          name:
                            type: string
                            description: Name of the account holder
                          bank:
                            type: string
                            description: Bank name
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - virtualAccount
                          - name
                          - bank
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - THAI_QR
                          qrCode:
                            type: string
                            description: QR code
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - qrCode
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - VIET_QR
                          qrCode:
                            type: string
                            description: QR code
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - qrCode
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - GCASH
                          qrCode:
                            type: string
                            description: QR code
                          otp:
                            type: string
                            description: OTP for the transaction
                          bankNotes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: number
                                  description: 'Type of note: -1 for warning, 1 for info'
                                msg:
                                  type: string
                                  description: Message content
                              required:
                                - type
                                - msg
                            description: Additional bank instructions
                        required:
                          - depositType
                          - qrCode
                          - otp
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - ARGENTINA_BANK_TRANSFER
                          accountNumber:
                            type: string
                            description: Account number
                          accountHolder:
                            type: string
                            description: Account holder name
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - accountNumber
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - ACH_US
                          routingNumber:
                            type: string
                            description: US bank ABA routing number
                          accountNumber:
                            type: string
                            description: US bank account number
                          beneficiaryName:
                            type: string
                            description: Beneficiary name on the account
                          bankName:
                            type: string
                            description: Name of the bank
                          bankAddress:
                            type: string
                            description: Address of the bank
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names (e.g. ACH, Wire)
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount in USD
                          referenceCode:
                            type: string
                            minLength: 1
                            description: Reference code to include in the wire/ACH transfer
                        required:
                          - depositType
                          - routingNumber
                          - accountNumber
                          - beneficiaryName
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - ACH_PULL
                        required:
                          - depositType
                        description: >-
                          Funds are pulled from the holder's own linked US bank
                          account; no transfer instructions apply
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - LOCALBANK
                            description: >-
                              Deprecated generic local-bank payin type.
                              Superseded by the corridor-specific deposit types
                              (e.g. SEPA, ACH_US, GBP_BANK_TRANSFER, CLABE/SPEI,
                              PIX, ARGENTINA_BANK_TRANSFER, BANK_DEPOSIT_<CC>).
                              Still returned on some corridors and on historical
                              records, so integrators must continue to handle
                              it. Discover the applicable per-currency method
                              via GET /v1/currencies/{currency}/payin-schema.
                            deprecated: true
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - GBP_BANK_TRANSFER
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: UK bank account number
                          sortCode:
                            type: string
                            description: UK sort code
                          bankName:
                            type: string
                            description: Name of the bank
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          schemes:
                            type: array
                            items:
                              type: string
                            description: >-
                              Accepted payment scheme names (e.g. Faster
                              Payments, CHAPS, BACS)
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount in GBP
                          referenceCode:
                            type: string
                            minLength: 1
                            description: Reference code to include in the transfer
                        required:
                          - depositType
                          - accountHolder
                          - accountNumber
                          - sortCode
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_COL
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CL
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BO
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BR
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_NG
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_KE
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_GH
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZA
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TZ
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_UG
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_RW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZM
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CD
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XOF
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XAF
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_NG
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_KE
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_GH
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZA
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_TZ
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_UG
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_RW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_MW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZM
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_BW
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_CD
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_XOF
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - MOBILE_MONEY_XAF
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                          amount:
                            type: number
                            minimum: 0
                            description: Expected deposit amount
                          referenceCode:
                            type: string
                            description: Reference code for the transfer
                        required:
                          - depositType
                          - amount
                          - referenceCode
                    description: Details of the deposit
                    examples:
                      - accountHolder: John Doe
                        iban: DE8937XXXXXXXXXXXX3000
                        bic: COBADEFFXXX
                        bankName: Commerzbank
                        bankAddress: Mainzer Landstrasse 151-153
                        bankCity: Frankfurt
                        bankZipcode: '60327'
                        bankCountry: DE
                        amount: 1000
                        referenceCode: ABC123
                        depositType: SEPA
                  depositInfoPending:
                    type: boolean
                    description: >-
                      True while the payment instructions are still being
                      prepared. Poll this deposit until it is false (or absent)
                      before showing the instructions to the payer.
                  complianceHold:
                    type: object
                    properties:
                      reason:
                        type: string
                        enum:
                          - screening
                          - fiat_monitoring
                        description: Compliance hold reason
                    required:
                      - reason
                    description: >-
                      Present while the inbound transfer funding this deposit is
                      held in provider compliance review. The deposit stays
                      Reviewing (amount 0, never credited) until the hold clears
                      (promote to Received) or the transfer is rejected/returned
                      (terminalize).
                  pendingPaymentReview:
                    type: object
                    properties:
                      reason:
                        type: string
                        enum:
                          - name_mismatch
                          - amount_mismatch
                          - low_confidence
                        description: >-
                          Why the payment was not linked automatically.
                          name_mismatch = the payer name differs from the
                          holder; amount_mismatch = the amount differs from the
                          expected one; low_confidence = not enough matching
                          detail. These are the SYSTEM codes for why the payment
                          was not auto-linked; they are not the
                          operator-supplied preLinked.reasonCode published by
                          GET /v1/pending-payments.
                        examples:
                          - amount_mismatch
                    required:
                      - reason
                    additionalProperties: false
                    description: >-
                      Present when a payment has arrived for this deposit and is
                      awaiting a link decision. Retrieve and act on it via GET
                      /v1/pending-payments. Absent when no payment is awaiting a
                      decision — its absence does NOT mean no payment arrived,
                      only that none is pending review.
                required:
                  - depositId
                  - createdAt
                  - expectedAmount
                  - amount
                  - currency
                  - fee
                  - expectedFee
                  - feeCurrency
                  - status
                  - depositInfo
                description: Response schema for getting deposit details
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET "https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure"
            \
              -H "Authorization: Bearer $VB_TOKEN"
    delete:
      summary: Delete a deposit
      description: This endpoint deletes a specific deposit.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 12
            maxLength: 12
            pattern: ^[A-Z0-9]{12}$
            description: ID of the deposit
            examples:
              - 01CLFXMT67II
              - 2R7E5Y5KFXP8
              - 4FWWRE3Y2URM
          required: true
          description: ID of the deposit
          name: depositId
          in: path
      responses:
        '200':
          description: Successful deletion of deposit
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the deletion was successful
                  message:
                    type: string
                    description: Success message
                required:
                  - success
                description: Response schema for successful deletion
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure", {
                method: "DELETE",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.delete(
                "https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X DELETE
            "https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure" \
              -H "Authorization: Bearer $VB_TOKEN"
    put:
      summary: Update a deposit
      description: >-
        Updates a deposit. Currently only cancellation is supported: send
        `status` = `Canceled` to cancel a deposit. Returns `true` when the
        cancellation was applied.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: ID of the deposit
          required: true
          description: ID of the deposit
          name: depositId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                depositId:
                  type: string
                  description: ID of the order to update
                status:
                  type: string
                  enum:
                    - Canceled
                  description: Status of the order. Only Canceled is allowed
              required:
                - depositId
                - status
              description: Request schema for updating an offramped order
      responses:
        '200':
          description: Whether the update was applied
          content:
            application/json:
              schema:
                type: boolean
                description: True if the deposit was cancelled
        '400':
          description: Bad request (validation error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure", {
                method: "PUT",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "depositId": "string",
                  "status": "Canceled"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.put(
                "https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "depositId": "string",
                    "status": "Canceled"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X PUT "https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "depositId": "string",
              "status": "Canceled"
            }'
  /v1/deposits/methods:
    post:
      summary: Create a deposit method
      description: >-
        Provisions (or returns the existing) reusable deposit method for an
        account — a crypto wallet (methodType `crypto`, with a `network`) or a
        fiat receiving account (methodType `fiat`, for EUR/USD/GBP/MXN/ARS/BRL).
        Returns the normalized deposit method, including receive instructions
        when they are already available. Provider-agnostic: the method is
        provisioned with whichever payment provider serves that currency on your
        workspace, and which one it is never appears in the response.


        `accountId` is the user email for individual users; for organisations
        use the `accountId` returned by GET /v1/kyc/{accountEmail}.


        Fiat provisioning can be asynchronous: the method is returned with
        `status` `PENDING` and a `deposit_method_activated` webhook is sent once
        `depositInfo` (IBAN, account number, a Pix code, or — for a corridor
        collected on a hosted page — a payment page `url`) is available.
        Depending on the corridor, personal data of the account owner may be
        required (address, city, postalCode, and for some corridors dob and
        phoneNumber) — when data is missing the request fails with a message
        listing exactly which fields are absent; provide them in `userData`
        (same shape as the order `destinationUserData`).


        Some currencies are served through a shared collection account: no
        dedicated method can be created on demand there — it is issued
        automatically when the account is ready (announced via the
        deposit_method webhooks), or transfer instructions can be obtained per
        deposit via POST /v1/deposits.
      tags:
        - Deposits
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                accountId:
                  type: string
                  minLength: 1
                  description: Account id that will own the deposit method
                userData:
                  oneOf:
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        lastName:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: >-
                            Last name of the user making the deposit (or
                            representative for business)
                          examples:
                            - Doe
                            - Smith
                            - Johnson
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - firstName
                        - userEmail
                        - country
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - business
                        businessName:
                          type: string
                          maxLength: 150
                          description: Business name (required when userType is business)
                          examples:
                            - Acme Corp
                            - Tech Solutions Inc
                            - Global Services Ltd
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - businessName
                        - firstName
                        - userEmail
                        - country
                  description: >-
                    Personal data of the account owner used to provision fiat
                    deposit methods (address, city, postalCode, country...).
                    Same shape as the order destinationUserData. Fields provided
                    here take precedence over data already on file.
                methodType:
                  type: string
                  enum:
                    - crypto
                    - fiat
                  default: crypto
                  description: Deposit method type
                currency:
                  anyOf:
                    - type: string
                      enum:
                        - EUR
                        - USD
                        - GBP
                        - BRL
                        - MXN
                        - ARS
                        - COP
                        - PEN
                        - NGN
                        - KES
                        - TZS
                        - UGX
                        - RWF
                        - MWK
                        - ZMW
                        - XOF
                        - XAF
                        - BWP
                    - type: string
                      enum:
                        - USDC
                        - USDT
                        - CUSD
                        - BTC
                        - ETH
                        - POL
                        - SOL
                        - TRX
                        - AVAX
                        - XRP
                        - BNB
                    - type: string
                      enum:
                        - USD
                    - type: string
                      enum:
                        - GBP
                  description: Currency for the deposit method
                network:
                  type: string
                  enum:
                    - BALANCE
                    - SEPA
                    - BTC
                    - ETH
                    - MATIC
                    - POLYGON
                    - CELO
                    - TRON
                    - SOLANA
                    - ARBITRUM
                    - OPTIMISM
                    - AVALANCHE
                    - BSC
                    - BASE
                    - XRP
                    - PIX_BR
                    - UPI
                    - IMPS
                    - TRY_BANK_TRANSFER
                    - AED_BANK_TRANSFER
                    - SPEI
                    - IDR_BANK_TRANSFER
                    - CREDIT_CARD
                    - THAI_QR
                    - VIET_QR
                    - GCASH
                    - ARGENTINA_BANK_TRANSFER
                    - PSE
                    - CLABE
                    - PIX
                    - BANK_DEPOSIT_COL
                    - BANK_DEPOSIT_AR
                    - BANK_DEPOSIT_CL
                    - BANK_DEPOSIT_PE
                    - BANK_DEPOSIT_BO
                    - BANK_DEPOSIT_BR
                    - BANK_DEPOSIT_NG
                    - BANK_DEPOSIT_KE
                    - BANK_DEPOSIT_GH
                    - BANK_DEPOSIT_ZA
                    - BANK_DEPOSIT_TZ
                    - BANK_DEPOSIT_UG
                    - BANK_DEPOSIT_RW
                    - BANK_DEPOSIT_MW
                    - BANK_DEPOSIT_ZM
                    - BANK_DEPOSIT_BW
                    - BANK_DEPOSIT_CD
                    - BANK_DEPOSIT_XOF
                    - BANK_DEPOSIT_XAF
                    - MOBILE_MONEY_NG
                    - MOBILE_MONEY_KE
                    - MOBILE_MONEY_GH
                    - MOBILE_MONEY_ZA
                    - MOBILE_MONEY_TZ
                    - MOBILE_MONEY_UG
                    - MOBILE_MONEY_RW
                    - MOBILE_MONEY_MW
                    - MOBILE_MONEY_ZM
                    - MOBILE_MONEY_BW
                    - MOBILE_MONEY_CD
                    - MOBILE_MONEY_XOF
                    - MOBILE_MONEY_XAF
                    - ACH_US
                    - GBP_BANK_TRANSFER
                  description: Network/rail for crypto deposit methods
              required:
                - accountId
                - currency
              description: Request schema for creating a deposit method (generic)
      responses:
        '200':
          description: >-
            Deposit method created, or the existing one returned — calling again
            for the same account and currency is safe and does not create a
            second method
          content:
            application/json:
              schema:
                type: object
                properties:
                  methodId:
                    type: string
                    description: Deposit method id
                  methodType:
                    type: string
                    enum:
                      - crypto
                      - fiat
                    description: Normalized deposit method type
                  currency:
                    type: string
                    description: Currency of the deposit method
                  network:
                    type: string
                    description: Network for crypto deposit methods
                  status:
                    type: string
                    enum:
                      - ACTIVE
                      - PENDING
                    description: Normalized deposit method status
                  depositInfo:
                    oneOf:
                      - type: object
                        properties:
                          address:
                            type: string
                            minLength: 1
                            description: Crypto wallet address
                            example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                          network:
                            type: string
                            enum:
                              - MATIC
                              - ETH
                              - CELO
                              - TRON
                              - BTC
                              - SOLANA
                              - XRP
                              - CARDANO
                              - BSC
                              - ARBITRUM
                              - OPTIMISM
                              - AVALANCHE
                              - BASE
                            description: Network for the deposit for crypto deposits
                            examples:
                              - ETH
                              - MATIC
                              - CELO
                          memo:
                            type: string
                            description: Optional memo for the transaction
                            example: Payment for services
                          depositType:
                            type: string
                            enum:
                              - CRYPTO
                          qrCode:
                            type: string
                            description: Base64-encoded QR image for the deposit address
                            example: >-
                              iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                          qrCodeUrl:
                            type: string
                            format: uri
                            description: 7-day signed GCS URL of the QR code PNG
                          qrCodeExpiresAt:
                            type: number
                            description: Unix timestamp (ms) when qrCodeUrl expires
                          receivingAddress:
                            type: string
                            description: The wallet address where funds should be sent
                            example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                          tokenContract:
                            type: string
                            description: The ERC20 token contract address
                            example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                          decimals:
                            type: number
                            description: Token decimals (default 18)
                            example: 18
                        required:
                          - address
                          - network
                          - depositType
                        description: Crypto Deposit Information
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - SEPA
                          accountHolder:
                            type: string
                            description: Account holder name
                          iban:
                            type: string
                            description: SEPA Bank Account Number
                          bic:
                            type: string
                            description: Bank BIC/SWIFT code
                          accountNumber:
                            type: string
                            description: Bank account number
                          bankName:
                            type: string
                            description: Name of the bank
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          referenceCode:
                            type: string
                            minLength: 1
                            description: >-
                              Payment reference the payer must include in the
                              transfer. Present when this account is a shared
                              collection account, where the reference (not the
                              account number) is what attributes an incoming
                              payment. Absent when the account is dedicated to
                              this deposit method, in which case the coordinates
                              alone identify it. When present it is mandatory: a
                              transfer that omits it cannot be attributed
                              automatically.
                        required:
                          - depositType
                          - iban
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - ACH_US
                          routingNumber:
                            type: string
                            description: US bank ABA routing number
                          accountNumber:
                            type: string
                            description: US bank account number
                          beneficiaryName:
                            type: string
                            description: Beneficiary name on the account
                          bankName:
                            type: string
                            description: Name of the bank
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names (e.g. ACH, Wire)
                        required:
                          - depositType
                          - routingNumber
                          - accountNumber
                          - beneficiaryName
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - GBP_BANK_TRANSFER
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: UK bank account number
                          sortCode:
                            type: string
                            description: UK sort code
                          bankName:
                            type: string
                            description: Name of the bank
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          schemes:
                            type: array
                            items:
                              type: string
                            description: >-
                              Accepted payment scheme names (e.g. Faster
                              Payments, CHAPS, BACS)
                        required:
                          - depositType
                          - accountNumber
                          - sortCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - LOCALBANK
                          accountHolder:
                            type: string
                            description: Account holder name
                          accountNumber:
                            type: string
                            description: Local bank account number
                          bankName:
                            type: string
                            description: Bank name
                          bankCountry:
                            type: string
                            description: ISO-3166 country code
                          routingCodes:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  description: >-
                                    Routing code type (e.g. "routing_number",
                                    "sort_code")
                                value:
                                  type: string
                                  description: Routing code value
                              required:
                                - type
                                - value
                            description: >-
                              Routing identifiers (e.g. sort code, routing
                              number)
                          schemes:
                            type: array
                            items:
                              type: string
                            description: Accepted payment scheme names for this account
                        required:
                          - depositType
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - PIX
                          qrCodeString:
                            type: string
                            minLength: 1
                            description: >-
                              Pix copia-e-cola payload (EMV BR Code text) the
                              payer pastes into their bank app; the payer enters
                              the amount
                          base64QRCode:
                            type: string
                            minLength: 1
                            description: >-
                              The same payload rendered as a PNG, raw base64 (no
                              data-URI prefix)
                        required:
                          - depositType
                          - qrCodeString
                          - base64QRCode
                      - type: object
                        properties:
                          depositType:
                            type: string
                            enum:
                              - PENDING
                          currency:
                            type: string
                            description: Currency of the deposit method
                        required:
                          - depositType
                          - currency
                      - type: object
                        properties:
                          url:
                            type: string
                            description: URL of the PSE payment
                          amountPrefilled:
                            type: boolean
                            description: >-
                              Whether the payment page already carries the
                              amount. When false or absent, the payer must enter
                              it.
                          depositType:
                            type: string
                            enum:
                              - PSE
                            description: Type of the deposit
                        required:
                          - url
                          - depositType
                    description: Deposit instructions for the method when available
                  createdAt:
                    type: number
                    description: Creation timestamp
                  updatedAt:
                    type: number
                    description: Last update timestamp
                required:
                  - methodId
                  - methodType
                  - currency
                  - status
                description: Response schema for creating a generic deposit method
        '400':
          description: >-
            Bad request (validation error, including missing required userData
            fields — the message lists them)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: >-
            No account matches the `accountId` supplied — the usual cause is a
            typo, or using an email where an organisation needs the `accountId`
            from GET /v1/kyc/{accountEmail}
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            The method cannot be issued in this state — the currency is served
            through a shared collection account (use POST /v1/deposits for
            per-deposit instructions), or the account has not completed
            verification yet
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/methods", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "accountId": "string",
                  "userData": {
                    "userType": "individual",
                    "firstName": "John",
                    "lastName": "Doe",
                    "userEmail": "user@virtuabroker.com",
                    "address": "123 Main St, Anytown, ES",
                    "taxDocumentType": "CC",
                    "taxId": "123-45-6789",
                    "country": "ES",
                    "state": "Madrid",
                    "postalCode": "12345",
                    "city": "Madrid",
                    "dob": "1990-01-01",
                    "phoneNumber": "+447700900123",
                    "kycId": "kyc-12345",
                    "activity": "worker"
                  },
                  "methodType": "crypto",
                  "currency": "EUR",
                  "network": "BALANCE"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/deposits/methods",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "accountId": "string",
                    "userData": {
                        "userType": "individual",
                        "firstName": "John",
                        "lastName": "Doe",
                        "userEmail": "user@virtuabroker.com",
                        "address": "123 Main St, Anytown, ES",
                        "taxDocumentType": "CC",
                        "taxId": "123-45-6789",
                        "country": "ES",
                        "state": "Madrid",
                        "postalCode": "12345",
                        "city": "Madrid",
                        "dob": "1990-01-01",
                        "phoneNumber": "+447700900123",
                        "kycId": "kyc-12345",
                        "activity": "worker"
                    },
                    "methodType": "crypto",
                    "currency": "EUR",
                    "network": "BALANCE"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/deposits/methods" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "accountId": "string",
              "userData": {
                "userType": "individual",
                "firstName": "John",
                "lastName": "Doe",
                "userEmail": "user@virtuabroker.com",
                "address": "123 Main St, Anytown, ES",
                "taxDocumentType": "CC",
                "taxId": "123-45-6789",
                "country": "ES",
                "state": "Madrid",
                "postalCode": "12345",
                "city": "Madrid",
                "dob": "1990-01-01",
                "phoneNumber": "+447700900123",
                "kycId": "kyc-12345",
                "activity": "worker"
              },
              "methodType": "crypto",
              "currency": "EUR",
              "network": "BALANCE"
            }'
    get:
      summary: List deposit methods
      description: >-
        Lists the deposit methods of an account, with their current `status` and
        receiving instructions (`depositInfo`) when available.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Optional currency filter
          required: false
          description: Optional currency filter
          name: currency
          in: query
        - schema:
            type: string
            enum:
              - crypto
              - fiat
            description: Optional deposit method type filter
          required: false
          description: Optional deposit method type filter
          name: methodType
          in: query
        - schema:
            type: string
            minLength: 1
            description: Account id that owns the deposit methods
          required: true
          description: Account id that owns the deposit methods
          name: accountId
          in: query
      responses:
        '200':
          description: Successful retrieval of deposit methods
          content:
            application/json:
              schema:
                type: object
                properties:
                  methods:
                    type: array
                    items:
                      type: object
                      properties:
                        methodId:
                          type: string
                          description: Deposit method id
                        methodType:
                          type: string
                          enum:
                            - crypto
                            - fiat
                          description: Normalized deposit method type
                        currency:
                          type: string
                          description: Currency of the deposit method
                        network:
                          type: string
                          description: Network for crypto deposit methods
                        status:
                          type: string
                          enum:
                            - ACTIVE
                            - PENDING
                          description: Normalized deposit method status
                        depositInfo:
                          oneOf:
                            - type: object
                              properties:
                                address:
                                  type: string
                                  minLength: 1
                                  description: Crypto wallet address
                                  example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                                network:
                                  type: string
                                  enum:
                                    - MATIC
                                    - ETH
                                    - CELO
                                    - TRON
                                    - BTC
                                    - SOLANA
                                    - XRP
                                    - CARDANO
                                    - BSC
                                    - ARBITRUM
                                    - OPTIMISM
                                    - AVALANCHE
                                    - BASE
                                  description: Network for the deposit for crypto deposits
                                  examples:
                                    - ETH
                                    - MATIC
                                    - CELO
                                memo:
                                  type: string
                                  description: Optional memo for the transaction
                                  example: Payment for services
                                depositType:
                                  type: string
                                  enum:
                                    - CRYPTO
                                qrCode:
                                  type: string
                                  description: >-
                                    Base64-encoded QR image for the deposit
                                    address
                                  example: >-
                                    iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                                qrCodeUrl:
                                  type: string
                                  format: uri
                                  description: 7-day signed GCS URL of the QR code PNG
                                qrCodeExpiresAt:
                                  type: number
                                  description: Unix timestamp (ms) when qrCodeUrl expires
                                receivingAddress:
                                  type: string
                                  description: >-
                                    The wallet address where funds should be
                                    sent
                                  example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                                tokenContract:
                                  type: string
                                  description: The ERC20 token contract address
                                  example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                                decimals:
                                  type: number
                                  description: Token decimals (default 18)
                                  example: 18
                              required:
                                - address
                                - network
                                - depositType
                              description: Crypto Deposit Information
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - SEPA
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                iban:
                                  type: string
                                  description: SEPA Bank Account Number
                                bic:
                                  type: string
                                  description: Bank BIC/SWIFT code
                                accountNumber:
                                  type: string
                                  description: Bank account number
                                bankName:
                                  type: string
                                  description: Name of the bank
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                referenceCode:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Payment reference the payer must include in
                                    the transfer. Present when this account is a
                                    shared collection account, where the
                                    reference (not the account number) is what
                                    attributes an incoming payment. Absent when
                                    the account is dedicated to this deposit
                                    method, in which case the coordinates alone
                                    identify it. When present it is mandatory: a
                                    transfer that omits it cannot be attributed
                                    automatically.
                              required:
                                - depositType
                                - iban
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - ACH_US
                                routingNumber:
                                  type: string
                                  description: US bank ABA routing number
                                accountNumber:
                                  type: string
                                  description: US bank account number
                                beneficiaryName:
                                  type: string
                                  description: Beneficiary name on the account
                                bankName:
                                  type: string
                                  description: Name of the bank
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names (e.g. ACH,
                                    Wire)
                              required:
                                - depositType
                                - routingNumber
                                - accountNumber
                                - beneficiaryName
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - GBP_BANK_TRANSFER
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: UK bank account number
                                sortCode:
                                  type: string
                                  description: UK sort code
                                bankName:
                                  type: string
                                  description: Name of the bank
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names (e.g. Faster
                                    Payments, CHAPS, BACS)
                              required:
                                - depositType
                                - accountNumber
                                - sortCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - LOCALBANK
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                              required:
                                - depositType
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - PIX
                                qrCodeString:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Pix copia-e-cola payload (EMV BR Code text)
                                    the payer pastes into their bank app; the
                                    payer enters the amount
                                base64QRCode:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    The same payload rendered as a PNG, raw
                                    base64 (no data-URI prefix)
                              required:
                                - depositType
                                - qrCodeString
                                - base64QRCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - PENDING
                                currency:
                                  type: string
                                  description: Currency of the deposit method
                              required:
                                - depositType
                                - currency
                            - type: object
                              properties:
                                url:
                                  type: string
                                  description: URL of the PSE payment
                                amountPrefilled:
                                  type: boolean
                                  description: >-
                                    Whether the payment page already carries the
                                    amount. When false or absent, the payer must
                                    enter it.
                                depositType:
                                  type: string
                                  enum:
                                    - PSE
                                  description: Type of the deposit
                              required:
                                - url
                                - depositType
                          description: Deposit instructions for the method when available
                        createdAt:
                          type: number
                          description: Creation timestamp
                        updatedAt:
                          type: number
                          description: Last update timestamp
                      required:
                        - methodId
                        - methodType
                        - currency
                        - status
                      description: Normalized deposit method resource
                    description: Deposit methods
                required:
                  - methods
                description: Response schema for listing deposit methods
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/methods", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/deposits/methods",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/deposits/methods" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/deposits/methods/{methodId}:
    get:
      summary: Get deposit method details
      description: Retrieves a single deposit method of an account by its `methodId`.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Deposit method id
          required: true
          description: Deposit method id
          name: methodId
          in: path
        - schema:
            type: string
            minLength: 1
            description: Account id that owns the deposit methods
          required: true
          description: Account id that owns the deposit methods
          name: accountId
          in: query
      responses:
        '200':
          description: Successful retrieval of deposit method details
          content:
            application/json:
              schema:
                type: object
                properties:
                  method:
                    type: object
                    properties:
                      methodId:
                        type: string
                        description: Deposit method id
                      methodType:
                        type: string
                        enum:
                          - crypto
                          - fiat
                        description: Normalized deposit method type
                      currency:
                        type: string
                        description: Currency of the deposit method
                      network:
                        type: string
                        description: Network for crypto deposit methods
                      status:
                        type: string
                        enum:
                          - ACTIVE
                          - PENDING
                        description: Normalized deposit method status
                      depositInfo:
                        oneOf:
                          - type: object
                            properties:
                              address:
                                type: string
                                minLength: 1
                                description: Crypto wallet address
                                example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                              network:
                                type: string
                                enum:
                                  - MATIC
                                  - ETH
                                  - CELO
                                  - TRON
                                  - BTC
                                  - SOLANA
                                  - XRP
                                  - CARDANO
                                  - BSC
                                  - ARBITRUM
                                  - OPTIMISM
                                  - AVALANCHE
                                  - BASE
                                description: Network for the deposit for crypto deposits
                                examples:
                                  - ETH
                                  - MATIC
                                  - CELO
                              memo:
                                type: string
                                description: Optional memo for the transaction
                                example: Payment for services
                              depositType:
                                type: string
                                enum:
                                  - CRYPTO
                              qrCode:
                                type: string
                                description: >-
                                  Base64-encoded QR image for the deposit
                                  address
                                example: >-
                                  iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                              qrCodeUrl:
                                type: string
                                format: uri
                                description: 7-day signed GCS URL of the QR code PNG
                              qrCodeExpiresAt:
                                type: number
                                description: Unix timestamp (ms) when qrCodeUrl expires
                              receivingAddress:
                                type: string
                                description: The wallet address where funds should be sent
                                example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                              tokenContract:
                                type: string
                                description: The ERC20 token contract address
                                example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                              decimals:
                                type: number
                                description: Token decimals (default 18)
                                example: 18
                            required:
                              - address
                              - network
                              - depositType
                            description: Crypto Deposit Information
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - SEPA
                              accountHolder:
                                type: string
                                description: Account holder name
                              iban:
                                type: string
                                description: SEPA Bank Account Number
                              bic:
                                type: string
                                description: Bank BIC/SWIFT code
                              accountNumber:
                                type: string
                                description: Bank account number
                              bankName:
                                type: string
                                description: Name of the bank
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              referenceCode:
                                type: string
                                minLength: 1
                                description: >-
                                  Payment reference the payer must include in
                                  the transfer. Present when this account is a
                                  shared collection account, where the reference
                                  (not the account number) is what attributes an
                                  incoming payment. Absent when the account is
                                  dedicated to this deposit method, in which
                                  case the coordinates alone identify it. When
                                  present it is mandatory: a transfer that omits
                                  it cannot be attributed automatically.
                            required:
                              - depositType
                              - iban
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - ACH_US
                              routingNumber:
                                type: string
                                description: US bank ABA routing number
                              accountNumber:
                                type: string
                                description: US bank account number
                              beneficiaryName:
                                type: string
                                description: Beneficiary name on the account
                              bankName:
                                type: string
                                description: Name of the bank
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names (e.g. ACH, Wire)
                            required:
                              - depositType
                              - routingNumber
                              - accountNumber
                              - beneficiaryName
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - GBP_BANK_TRANSFER
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: UK bank account number
                              sortCode:
                                type: string
                                description: UK sort code
                              bankName:
                                type: string
                                description: Name of the bank
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: >-
                                  Accepted payment scheme names (e.g. Faster
                                  Payments, CHAPS, BACS)
                            required:
                              - depositType
                              - accountNumber
                              - sortCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - LOCALBANK
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                            required:
                              - depositType
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - PIX
                              qrCodeString:
                                type: string
                                minLength: 1
                                description: >-
                                  Pix copia-e-cola payload (EMV BR Code text)
                                  the payer pastes into their bank app; the
                                  payer enters the amount
                              base64QRCode:
                                type: string
                                minLength: 1
                                description: >-
                                  The same payload rendered as a PNG, raw base64
                                  (no data-URI prefix)
                            required:
                              - depositType
                              - qrCodeString
                              - base64QRCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - PENDING
                              currency:
                                type: string
                                description: Currency of the deposit method
                            required:
                              - depositType
                              - currency
                          - type: object
                            properties:
                              url:
                                type: string
                                description: URL of the PSE payment
                              amountPrefilled:
                                type: boolean
                                description: >-
                                  Whether the payment page already carries the
                                  amount. When false or absent, the payer must
                                  enter it.
                              depositType:
                                type: string
                                enum:
                                  - PSE
                                description: Type of the deposit
                            required:
                              - url
                              - depositType
                        description: Deposit instructions for the method when available
                      createdAt:
                        type: number
                        description: Creation timestamp
                      updatedAt:
                        type: number
                        description: Last update timestamp
                    required:
                      - methodId
                      - methodType
                      - currency
                      - status
                    description: Normalized deposit method resource
                required:
                  - method
                description: Response schema for getting a deposit method
        '404':
          description: No deposit method with this methodId exists for the account
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/methods/YOUR_METHODID",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/deposits/methods/YOUR_METHODID",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/deposits/methods/YOUR_METHODID" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/orders:
    post:
      summary: Create an order
      description: >-

        This endpoint creates a new order. The order follows a three-step flow:


        1. **Origin** — Receive the specified origin amount and currency (e.g.
        USDC on MATIC, EUR via SEPA).


        2. **Trade execution** — Once the origin funds are confirmed, the trade
        is executed at the quoted rate.


        3. **Payout** — After successful execution the destination funds are
        sent to the `destinationTransferData` address provided in the request
        (e.g. Venezuelan bank via `BANK_DEPOSIT_VEN`, phone payment via
        `PHONE_DEPOSIT_VEN`, Brazilian PIX via `PIX_BR`, or a crypto wallet
        address).


        **Important**: For some currencies (e.g., INR), after the user completes
        the payment you must confirm the payin by calling `POST
        /v1/orders/{orderId}/confirm-payin`.


        For a standalone payout from balance (without a trade) use **POST
        /v1/withdrawals** instead.


        ### IMPS (India) UTR confirmation


        - If `destinationTransferData.type` is `IMPS`, after you complete the
        bank transfer you will receive a UTR (Unique Transaction Reference).

        - You must then confirm the payin by calling `POST
        /v1/orders/{orderId}/confirm-payin` and set `referenceId` to the
        received UTR.



        **On behalf of a managed customer:** pass the optional `accountId` (a
        customerId from `/v1/banking/customers`) to execute the order for that
        customer — they become the order origin. The optional structured
        `destination` block pays out to one of the customer’s saved contacts
        and/or saved payout addresses (`addressId`). The `accountId` must belong
        to your workspace; a foreign or unknown id is rejected with a 403 and no
        order is created.
      tags:
        - Orders
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            pattern: ^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$
            description: >-
              Optional idempotency key: 1–128 characters of letters, digits,
              dash or underscore, starting with a letter or digit, sent exactly
              once. A present-but-malformed key is rejected with 400 before
              anything happens. Replaying the same key with the same payload
              returns the original response; reusing it with a different payload
              is rejected with 409. The order id is always server-generated and
              never derived from this key.
          required: false
          description: >-
            Optional idempotency key: 1–128 characters of letters, digits, dash
            or underscore, starting with a letter or digit, sent exactly once. A
            present-but-malformed key is rejected with 400 before anything
            happens. Replaying the same key with the same payload returns the
            original response; reusing it with a different payload is rejected
            with 409. The order id is always server-generated and never derived
            from this key.
          name: Idempotency-Key
          in: header
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                quoteId:
                  type: string
                  format: uuid
                  description: The unique identifier of the created quote
                  examples:
                    - 123e4567-e89b-12d3-a456-426614174000
                    - 987f6543-a21c-45d6-b789-012345678901
                accountId:
                  type: string
                  minLength: 1
                  description: >-
                    Execute the order on behalf of this managed customer (the
                    customerId from /v1/banking/customers). The customer becomes
                    the order origin — the party whose balance/identity the
                    movement belongs to. Must belong to your workspace; a
                    foreign or unknown id is rejected.
                  examples:
                    - jane.doe@example.com
                destination:
                  type: object
                  properties:
                    contactId:
                      type: string
                      minLength: 1
                      description: >-
                        A saved contact of the on-behalf-of customer — the party
                        receiving the funds.
                    contactEmail:
                      type: string
                      minLength: 1
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: >-
                        Email identifying the receiving party (alternative to
                        contactId).
                    addressId:
                      type: string
                      minLength: 1
                      description: >-
                        A saved destination method (payout address) of the
                        on-behalf-of customer; its transfer details become the
                        payout destination.
                  additionalProperties: false
                  description: >-
                    Structured destination for on-behalf-of orders: pay out to a
                    managed contact and/or one of the customer saved payout
                    addresses. Requires accountId.
                originCountry:
                  type: string
                  minLength: 2
                  maxLength: 2
                  description: >-
                    Collection country (ISO-3166 alpha-2) for a multi-country
                    payin currency (CFA zones). Must be a valid collection
                    country for the origin currency; omitted ⇒ the default
                    collection country is used.
                  examples:
                    - CI
                    - SN
                    - CM
                userData:
                  oneOf:
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        lastName:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: >-
                            Last name of the user making the deposit (or
                            representative for business)
                          examples:
                            - Doe
                            - Smith
                            - Johnson
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - firstName
                        - userEmail
                        - country
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - business
                        businessName:
                          type: string
                          maxLength: 150
                          description: Business name (required when userType is business)
                          examples:
                            - Acme Corp
                            - Tech Solutions Inc
                            - Global Services Ltd
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - businessName
                        - firstName
                        - userEmail
                        - country
                  description: >-
                    Required when the quote origin is not BALANCE (payer). If
                    the payer email is new, include address, city, postalCode,
                    state, country, firstName, lastName, taxId, kycId for
                    deposit provisioning.
                destinationUserData:
                  oneOf:
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - individual
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        lastName:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: >-
                            Last name of the user making the deposit (or
                            representative for business)
                          examples:
                            - Doe
                            - Smith
                            - Johnson
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - firstName
                        - userEmail
                        - country
                    - type: object
                      properties:
                        userType:
                          type: string
                          enum:
                            - business
                        businessName:
                          type: string
                          maxLength: 150
                          description: Business name (required when userType is business)
                          examples:
                            - Acme Corp
                            - Tech Solutions Inc
                            - Global Services Ltd
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: >-
                            First name of the user making the deposit (or
                            representative for business)
                          examples:
                            - John
                            - Alice
                            - Bob
                        userEmail:
                          type: string
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the deposit
                          examples:
                            - user@virtuabroker.com
                            - john.doe@example.com
                            - alice@example.com
                        address:
                          type: string
                          maxLength: 150
                          description: Address of the user making the deposit
                          examples:
                            - 123 Main St, Anytown, ES
                            - 456 Elm St, Anytown, ES
                            - 789 Oak St, Anytown, ES
                        taxDocumentType:
                          type: string
                          maxLength: 50
                          description: >-
                            Tax document type of the user making the deposit.
                            Common values: DNI, NIE, PASSPORT, CC, NIT, CE, NIF,
                            but any string is accepted.
                          examples:
                            - CC
                            - NIT
                            - CE
                            - NIF
                            - Other
                        taxId:
                          type: string
                          maxLength: 30
                          description: Tax ID of the user making the deposit
                          examples:
                            - 123-45-6789
                            - 987-65-4321
                            - 111-22-3333
                        country:
                          type: string
                          enum:
                            - US
                            - CA
                            - GB
                            - DE
                            - FR
                            - AU
                            - JP
                            - KR
                            - SE
                            - 'NO'
                            - DK
                            - FI
                            - NL
                            - BE
                            - CH
                            - AT
                            - NZ
                            - SG
                            - IE
                            - LU
                            - PT
                            - ES
                            - IT
                            - GR
                            - CZ
                            - PL
                            - HU
                            - SK
                            - SI
                            - EE
                            - LT
                            - LV
                            - IS
                            - MT
                            - CY
                            - HR
                            - RO
                            - BG
                            - BR
                            - AR
                            - CL
                            - MX
                            - CO
                            - PE
                            - PA
                            - UY
                            - BO
                            - ZA
                            - NG
                            - KE
                            - GH
                            - TZ
                            - UG
                            - RW
                            - MW
                            - ZM
                            - BW
                            - CD
                            - CI
                            - CM
                            - IL
                            - AE
                            - QA
                            - SA
                            - OM
                            - KW
                            - BH
                            - MY
                            - PH
                            - TH
                            - VN
                            - ID
                            - IN
                            - LK
                            - NP
                            - BD
                            - PK
                            - EG
                            - MA
                            - DZ
                            - TN
                            - JO
                            - LB
                            - TR
                            - KH
                            - MM
                            - LA
                            - EN
                            - BT
                            - VE
                            - TW
                            - HK
                            - CN
                          description: Country code of the user making the deposit
                          examples:
                            - ES
                            - US
                            - GB
                        state:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: State of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Postal code of the user making the deposit
                          examples:
                            - '12345'
                            - '67890'
                            - abcde
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                          description: City of the user making the deposit
                          examples:
                            - Madrid
                            - New York
                            - London
                        dob:
                          type: string
                          minLength: 1
                          maxLength: 30
                          description: Date of birth of the user making the deposit
                          examples:
                            - '1990-01-01'
                            - '1995-05-15'
                            - '1988-12-31'
                        phoneNumber:
                          type: string
                          maxLength: 30
                          description: Phone number of the user making the deposit
                          examples:
                            - '+447700900123'
                            - '+447700900456'
                            - '+447700900789'
                        kycId:
                          type: string
                          minLength: 1
                          maxLength: 300
                          description: >-
                            KYC ID of the user making the deposit on your
                            platform (if the KYC is done by you, add the url)
                          examples:
                            - kyc-12345
                            - kyc-67890
                            - kyc-abcde
                        activity:
                          type: string
                          description: Activity of the user making the deposit
                          examples:
                            - worker
                            - business
                            - student
                      required:
                        - userType
                        - businessName
                        - firstName
                        - userEmail
                        - country
                  description: User data of the person/company that will receive the funds
                destinationTransferData:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BALANCE
                      required:
                        - type
                      description: Balance transfer details
                      title: Balance
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        iban:
                          type: string
                          description: IBAN number
                        bic:
                          type: string
                          description: BIC number (optional)
                        country:
                          type: string
                          description: Country code
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for SEPA payouts —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for SEPA
                            payouts — provide it here or in
                            destinationUserData.postalCode.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as the payout beneficiary `address.line1` when
                            registering the beneficiary. Stored on the saved
                            transaction method so the user does not have to
                            re-supply it on every withdraw.
                        type:
                          type: string
                          enum:
                            - SEPA
                      required:
                        - destinationName
                        - iban
                        - country
                        - type
                      description: SEPA transfer details
                      title: SEPA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        accountNumber:
                          type: string
                          description: UK bank account number
                        sortCode:
                          type: string
                          description: UK sort code
                        country:
                          type: string
                          enum:
                            - GB
                          default: GB
                          description: >-
                            ISO 3166 country code of the recipient (GBP transfer
                            is UK-based)
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for this rail —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for this rail
                            — provide it here or in
                            destinationUserData.postalCode.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as payee address when creating the payee.
                        type:
                          type: string
                          enum:
                            - GBP_BANK_TRANSFER
                      required:
                        - destinationName
                        - accountNumber
                        - sortCode
                        - type
                      description: GBP domestic bank transfer details
                      title: BankDepositGB
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        accountNumber:
                          type: string
                          description: US bank account number
                        routingNumber:
                          type: string
                          description: US ABA routing number
                        country:
                          type: string
                          enum:
                            - US
                          default: US
                          description: >-
                            ISO 3166 country code of the recipient (ACH is
                            US-domestic)
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        bankAccountType:
                          type: string
                          enum:
                            - CHECKING
                            - SAVINGS
                          default: CHECKING
                          description: >-
                            Kind of bank account the payout lands in. Defaults
                            to CHECKING when omitted.
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for this rail —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for this rail
                            — provide it here or in
                            destinationUserData.postalCode.
                        state:
                          type: string
                          pattern: ^[A-Z]{2}$
                          description: >-
                            Two-letter US state code of the recipient (e.g. NY).
                            REQUIRED for this rail.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as payee address when creating the payee.
                        type:
                          type: string
                          enum:
                            - ACH_US
                      required:
                        - destinationName
                        - accountNumber
                        - routingNumber
                        - state
                        - type
                      description: USD ACH transfer details
                      title: AchUS
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - linkedBankAccount
                        accountLinkId:
                          type: string
                          pattern: ^alnk_[0-9a-f]{24}$
                          description: >-
                            Identifier of one of the account holder own linked
                            bank accounts
                          examples:
                            - alnk_0123456789abcdef01234567
                      required:
                        - type
                        - accountLinkId
                      description: >-
                        A bank account the account holder linked beforehand.
                        Pays out only to the holder of the order; never to a
                        third party. Not available yet.
                      title: LinkedBankAccount
                      deprecated: true
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ETH
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: ETH destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: ETH
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - MATIC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: MATIC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: MATIC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - SOL
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: SOL destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: SOL
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - TRON
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: TRON destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: TRON
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - CELO
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: CELO destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: CELO
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BTC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BTC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: BTC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - SOLANA
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: SOLANA destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: SOLANA
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - XRP
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: XRP destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: XRP
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - CARDANO
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: CARDANO destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: CARDANO
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BSC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BSC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: BSC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ARBITRUM
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: ARBITRUM destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: ARBITRUM
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - OPTIMISM
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: OPTIMISM destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: OPTIMISM
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - AVALANCHE
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: AVALANCHE destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: AVALANCHE
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BASE
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BASE destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: BASE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/COP/networks. Not read by the payout;
                            retained for the network selector and for stored
                            records.
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_COL
                        destinationBankCode:
                          type: string
                          description: >-
                            Recipient bank code — one of the 4-digit codes
                            published by GET
                            /v1/currencies/COP/destination-schema?method=bankDepositCOL
                            (the code, not the name).
                        destinationBankAccountType:
                          type: string
                          description: Bank account type — CORRIENTE or AHORRO.
                        destinationTaxId:
                          type: string
                          description: Recipient ID document number.
                        destinationDocumentType:
                          type: string
                          description: Recipient ID document type — CC, CE, NIT, TI or PP.
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                        - destinationBankCode
                        - destinationBankAccountType
                        - destinationDocumentType
                        - destinationTaxId
                      description: >-
                        Colombian bank deposit details. Equivalent to ACH_COP —
                        same payout rail, same required fields, same bank
                        roster; ACH_COP is recommended for new integrations.
                        Note that BANK_DEPOSIT_COL is also the name of a COP
                        collection rail.
                      title: Bank Deposit COL
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        brebKey:
                          type: string
                          minLength: 1
                          description: >-
                            Bre-B key (llave) that identifies the recipient
                            account
                        email:
                          type: string
                          description: >-
                            Recipient email (optional contact for the Bre-B
                            rail)
                        destinationPhoneNumber:
                          type: string
                          description: >-
                            Recipient phone number (optional contact for the
                            Bre-B rail)
                        type:
                          type: string
                          enum:
                            - BRE_B_COP
                      required:
                        - destinationName
                        - brebKey
                        - type
                      description: Colombian Bre-B payout details
                      title: Bre-B COP
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          pattern: ^\d{4}$
                          description: >-
                            Recipient bank code — one of the 4-digit codes
                            published by GET
                            /v1/currencies/COP/destination-schema?method=achCOP
                            (the code, not the name)
                        destinationBankAccountNumber:
                          type: string
                          minLength: 1
                          description: Recipient bank account number
                        destinationBankAccountType:
                          type: string
                          minLength: 1
                          description: Bank account type (e.g. AHORROS / CORRIENTE)
                        destinationDocumentType:
                          type: string
                          minLength: 1
                          description: Recipient ID document type (e.g. CC / CE / NIT)
                        destinationTaxId:
                          type: string
                          minLength: 1
                          description: Recipient ID document number
                        type:
                          type: string
                          enum:
                            - ACH_COP
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccountNumber
                        - destinationBankAccountType
                        - destinationDocumentType
                        - destinationTaxId
                        - type
                      description: Colombian ACH payout details
                      title: ACH COP
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (unused for TWD — no network
                            discovery)
                        destinationBankName:
                          type: string
                          minLength: 2
                          description: Bank name (required — TWD payouts run over SWIFT)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_TW
                        destinationBankBranch:
                          type: string
                          minLength: 2
                          description: Bank branch (required — TWD payouts run over SWIFT)
                        bic:
                          type: string
                          pattern: >-
                            ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                          description: SWIFT BIC code (required for TWD payouts)
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient (legacy, optional)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankName
                        - type
                        - destinationBankBranch
                        - bic
                      description: Taiwan bank deposit details (SWIFT payout)
                      title: Bank Deposit TW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankBranch:
                          type: string
                          description: Bank branch
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BR
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccount
                        - destinationBankBranch
                        - destinationTaxId
                        - type
                      description: Brazilian bank deposit details
                      title: Bank Deposit BR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPixCode:
                          type: string
                          description: PIX code
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient
                        type:
                          type: string
                          enum:
                            - PIX_BR
                      required:
                        - destinationName
                        - destinationPixCode
                        - destinationTaxId
                        - type
                      description: Brazilian PIX details
                      title: PIX BR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccountNumber:
                          type: string
                          description: Bank account number
                        destinationBankName:
                          type: string
                          description: Name of the bank
                        destinationTaxId:
                          type: string
                          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                          description: Tax ID of the recipient
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_VEN
                      required:
                        - destinationName
                        - destinationBankAccountNumber
                        - destinationBankName
                        - destinationTaxId
                        - destinationBankAccountType
                        - type
                      description: Venezuelan bank deposit details
                      title: Bank Deposit VEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationTaxId:
                          type: string
                          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                          description: Tax ID of the recipient
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account
                        type:
                          type: string
                          enum:
                            - PHONE_DEPOSIT_VEN
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationPhoneNumber
                        - destinationTaxId
                        - destinationBankAccountType
                        - type
                      description: Venezuelan phone deposit details
                      title: Phone Deposit VEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_IN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        India bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit IN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - IMPS
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        India IMPS details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: IMPS
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - THAI_QR
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Thailand Thai QR details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: Thai QR
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - VIET_QR
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Vietnam Viet QR details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: Viet QR
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - GCASH
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Philippines GCash details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: GCash
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationTaxId:
                          type: string
                          description: Tax ID
                        type:
                          type: string
                          enum:
                            - MOBILE_PAYMENT_IN
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - destinationTaxId
                        - type
                      description: >-
                        India mobile payment details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Payment IN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankCode:
                          type: string
                          description: Bank code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_VN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankCode
                        - type
                      description: >-
                        Vietnam bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit VN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        bic:
                          type: string
                          description: >-
                            SWIFT BIC code (required for HKD payouts via the HK
                            bank corridor)
                        destinationBankName:
                          type: string
                          description: Bank name
                        destinationAddress:
                          type: string
                          description: Address line 1 of the recipient
                        destinationCity:
                          type: string
                          description: Recipient city (defaults to Hong Kong)
                        accountHolderName:
                          type: string
                          description: Bank account holder name if different from payee
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_HK
                      required:
                        - destinationName
                        - destinationBankAccount
                        - bic
                        - destinationBankName
                        - destinationAddress
                        - type
                      description: Hong Kong bank deposit details (HKD bank corridor)
                      title: Bank Deposit HK
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankCode:
                          type: string
                          pattern: ^\d+$
                          description: >-
                            CNAPS / bank institution code (numeric, variable
                            length)
                        destinationBankName:
                          type: string
                          description: Bank name
                        destinationAddress:
                          type: string
                          description: Address line 1 of the recipient
                        destinationCity:
                          type: string
                          description: Recipient city
                        destinationState:
                          type: string
                          minLength: 1
                          description: >-
                            Province / state of the recipient (required for CN —
                            the beneficiary is rejected in compliance review
                            without it)
                        destinationPostcode:
                          type: string
                          minLength: 1
                          description: >-
                            Postal code of the recipient (required for CN — the
                            beneficiary is rejected in compliance review without
                            it)
                        destinationPhone:
                          type: string
                          description: >-
                            Phone number of the recipient, without country
                            prefix (optional; defaulted for CN when omitted)
                        destinationTaxId:
                          type: string
                          description: >-
                            Unified Social Credit Code (USCC, GB 32100-2015) of
                            the recipient company — 18 characters including the
                            check digit; whitespace is removed and letters are
                            normalized to uppercase (optional)
                        accountHolderName:
                          type: string
                          description: Bank account holder name if different from payee
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankCode
                        - destinationBankName
                        - destinationAddress
                        - destinationCity
                        - destinationState
                        - destinationPostcode
                        - type
                      description: China mainland bank deposit details (CNY bank corridor)
                      title: Bank Deposit CN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/ARS/networks (the network selector,
                            optional)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_AR
                        destinationCBU:
                          type: string
                          description: CBU — 22-digit bank account key (legacy, optional)
                        destinationCVU:
                          type: string
                          description: >-
                            CVU — 22-digit virtual account key (legacy,
                            optional)
                        destinationAlias:
                          type: string
                          description: Account alias (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: >-
                            CUIT/CUIL tax ID of the recipient (required when
                            creating ARS bank destinations): exactly 11 digits
                            with no hyphens, spaces or other characters, and a
                            valid check digit (e.g. 20000000001)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                        - destinationTaxId
                      description: Argentinian bank deposit details
                      title: Bank Deposit AR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          minLength: 1
                          description: >-
                            Recipient bank name (required for Chilean bank
                            payouts)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CL
                        destinationBankAccountType:
                          type: string
                          minLength: 1
                          description: >-
                            Account type — corriente or ahorro (required for
                            Chilean bank payouts)
                        destinationTaxId:
                          type: string
                          minLength: 1
                          description: >-
                            RUT tax ID of the recipient (required for Chilean
                            bank payouts)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankName
                        - type
                        - destinationBankAccountType
                        - destinationTaxId
                      description: Chilean bank deposit details
                      title: Bank Deposit CL
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          minLength: 2
                          maxLength: 30
                          description: Recipient name (required, 2–30 characters)
                        destinationBankAccount:
                          type: string
                          minLength: 1
                          maxLength: 11
                          description: >-
                            Bank account number (max 11 digits for Bolivian
                            accounts)
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (unused for BOB — no network
                            discovery)
                        destinationBankName:
                          type: string
                          maxLength: 20
                          description: Bank name (optional, max 20 characters)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BO
                        destinationTaxId:
                          type: string
                          minLength: 1
                          maxLength: 15
                          description: >-
                            NIT tax ID of the recipient (required for Bolivian
                            payouts)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                        - destinationTaxId
                      description: Bolivian bank deposit details
                      title: Bank Deposit BO
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/PEN/networks (the network selector)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_PE
                        destinationCCI:
                          type: string
                          description: >-
                            CCI — 20-digit interbank account code (legacy,
                            optional)
                        destinationBankAccountType:
                          type: string
                          description: Account type (corriente/ahorro) (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: >-
                            DNI/RUC document ID of the recipient (legacy,
                            optional)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationNetworkId
                        - type
                      description: >-
                        Peruvian bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit PE
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          pattern: ^\d{3}$
                          description: >-
                            Recipient bank code (the 3-digit code the rail
                            expects, not the name)
                        destinationBankAccountNumber:
                          type: string
                          minLength: 1
                          maxLength: 20
                          description: Recipient bank account number (max 20)
                        destinationBankAccountType:
                          type: string
                          enum:
                            - CORRIENTE
                            - AHORROS
                            - PHONE
                          description: Bank account type
                        destinationCCI:
                          type: string
                          pattern: ^\d{1,20}$
                          description: >-
                            CCI — Peruvian interbank code (required, digits
                            only, max 20)
                        destinationDocumentType:
                          type: string
                          enum:
                            - CC
                            - CE
                            - RUC
                            - PAS
                            - PAR
                            - LMI
                            - OTHER
                          description: Recipient identification type
                        destinationTaxId:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: Recipient identification number (max 50)
                        email:
                          type: string
                          pattern: ^.+@.+\..+$
                          description: Recipient email (required for PEN payouts)
                        destinationPhoneNumber:
                          type: string
                          pattern: ^\d{1,9}$
                          description: Recipient phone number (required, max 9 digits)
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_PEN
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccountNumber
                        - destinationBankAccountType
                        - destinationCCI
                        - destinationDocumentType
                        - destinationTaxId
                        - email
                        - destinationPhoneNumber
                        - type
                      description: >-
                        Peruvian bank deposit details (bank-code payout
                        corridor).
                      title: Bank Deposit PEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_NG
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Nigeria bank deposit details
                      title: Bank Deposit NG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_KE
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Kenya bank deposit details
                      title: Bank Deposit KE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_GH
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Ghana bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit GH
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZA
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: South Africa bank deposit details
                      title: Bank Deposit ZA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_TZ
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Tanzania bank deposit details
                      title: Bank Deposit TZ
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_UG
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Uganda bank deposit details
                      title: Bank Deposit UG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_RW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Rwanda bank deposit details
                      title: Bank Deposit RW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_MW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Malawi bank deposit details
                      title: Bank Deposit MW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZM
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Zambia bank deposit details
                      title: Bank Deposit ZM
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Botswana bank deposit details
                      title: Bank Deposit BW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CD
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        DR Congo bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit CD
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XOF
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: West African CFA bank deposit details
                      title: Bank Deposit XOF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XAF
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Central African CFA bank deposit details
                      title: Bank Deposit XAF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_NG
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Nigeria mobile money details
                      title: Mobile Money NG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_KE
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Kenya mobile money details
                      title: Mobile Money KE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_GH
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: >-
                        Ghana mobile money details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Money GH
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZA
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: South Africa mobile money details
                      title: Mobile Money ZA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_TZ
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Tanzania mobile money details
                      title: Mobile Money TZ
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_UG
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Uganda mobile money details
                      title: Mobile Money UG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_RW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Rwanda mobile money details
                      title: Mobile Money RW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_MW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Malawi mobile money details
                      title: Mobile Money MW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZM
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Zambia mobile money details
                      title: Mobile Money ZM
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_BW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Botswana mobile money details
                      title: Mobile Money BW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_CD
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: >-
                        DR Congo mobile money details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Money CD
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_XOF
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: West African CFA mobile money details
                      title: Mobile Money XOF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_XAF
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Central African CFA mobile money details
                      title: Mobile Money XAF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationBankAccountNumber:
                          type: string
                          description: Bank account number (18-digit CLABE)
                        numericReference:
                          type: string
                          description: Numeric reference
                        notesReference:
                          type: string
                          description: Notes reference
                        destinationClabe:
                          type: string
                          description: >-
                            CLABE — legacy alias, prefer
                            destinationBankAccountNumber
                        destinationTaxId:
                          type: string
                          description: >-
                            Recipient tax id (RFC) — required by some MX
                            bank-deposit rails ("Número de Identificación");
                            optional otherwise
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_MX
                      required:
                        - destinationName
                        - destinationBankAccountNumber
                        - type
                      description: Mexican bank deposit details
                      title: Bank Deposit MX
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPseNumber:
                          type: string
                          description: PSE number
                        type:
                          type: string
                          enum:
                            - PSE
                      required:
                        - destinationName
                        - destinationPseNumber
                        - type
                      description: >-
                        PSE transfer details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: PSE
                      deprecated: true
                  description: >-
                    The details required for the end user destination transfer
                    method.
                externalReference:
                  type: string
                  description: >-
                    Your own reference for this order, echoed back on the order
                    object
                  examples:
                    - order-2026-000123
                integrationSessionId:
                  type: string
                  pattern: ^int_[A-Za-z0-9]{16}$
                  description: Integration session ID for partner attribution tracking
                  examples:
                    - int_a1B2c3D4e5F6g7H8
                tradeDetails:
                  type: object
                  properties:
                    businessType:
                      type: string
                      enum:
                        - GOODS_TRADE
                    contractNo:
                      type: string
                      minLength: 1
                    website:
                      type: string
                      format: uri
                    products:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                            minLength: 1
                          quantity:
                            type: number
                            minimum: 0
                            exclusiveMinimum: true
                          unit:
                            type: string
                            minLength: 1
                          category:
                            type: string
                            minLength: 1
                        required:
                          - name
                          - quantity
                          - unit
                        additionalProperties: false
                      minItems: 1
                  required:
                    - businessType
                    - contractNo
                    - products
                  additionalProperties: false
                  description: >-
                    Trade context for regulated payout corridors that require a
                    transaction document (e.g. CNY SAFE compliance):
                    goods/services type, contract number, and itemised product
                    list. Collected at order creation for bank-deposit CN
                    orders.
              required:
                - quoteId
              additionalProperties: false
              description: >-
                Create an order from a quote. userData (payer) is required
                unless the quote uses origin rail BALANCE.
              title: Create Order with User Data
      responses:
        '200':
          description: Successful order creation
          content:
            application/json:
              schema:
                type: object
                properties:
                  orderId:
                    type: string
                    description: ID of the order
                    examples:
                      - 01CLFXMT67II
                      - 2R7E5Y5KFXP8
                      - 4FWWRE3Y2URM
                  deposit:
                    type: object
                    properties:
                      depositId:
                        type: string
                        minLength: 1
                        description: >-
                          ID of the deposit. Normally a 12-character internal
                          id; deposits created before mid-2026 may carry a
                          longer legacy id. Treat it as an opaque string.
                      externalReference:
                        type: string
                        minLength: 1
                        maxLength: 128
                        description: >-
                          Your own reference for this deposit. Stored as-is and
                          returned on create, detail and list, so you can look
                          the deposit up by it after a network timeout instead
                          of retrying blind. Not interpreted by VirtuaBroker and
                          not shown to the payer — for the payer's transfer
                          reference use depositInfo.referenceCode.
                        examples:
                          - partner-ref-0001
                          - inv_2026_00417
                      userData:
                        oneOf:
                          - type: object
                            properties:
                              userType:
                                type: string
                                enum:
                                  - individual
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: >-
                                  First name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - John
                                  - Alice
                                  - Bob
                              lastName:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: >-
                                  Last name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - Doe
                                  - Smith
                                  - Johnson
                              userEmail:
                                type: string
                                maxLength: 254
                                format: email
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the deposit
                                examples:
                                  - user@virtuabroker.com
                                  - john.doe@example.com
                                  - alice@example.com
                              address:
                                type: string
                                maxLength: 150
                                description: Address of the user making the deposit
                                examples:
                                  - 123 Main St, Anytown, ES
                                  - 456 Elm St, Anytown, ES
                                  - 789 Oak St, Anytown, ES
                              taxDocumentType:
                                type: string
                                maxLength: 50
                                description: >-
                                  Tax document type of the user making the
                                  deposit. Common values: DNI, NIE, PASSPORT,
                                  CC, NIT, CE, NIF, but any string is accepted.
                                examples:
                                  - CC
                                  - NIT
                                  - CE
                                  - NIF
                                  - Other
                              taxId:
                                type: string
                                maxLength: 30
                                description: Tax ID of the user making the deposit
                                examples:
                                  - 123-45-6789
                                  - 987-65-4321
                                  - 111-22-3333
                              country:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country code of the user making the deposit
                                examples:
                                  - ES
                                  - US
                                  - GB
                              state:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: State of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              postalCode:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Postal code of the user making the deposit
                                examples:
                                  - '12345'
                                  - '67890'
                                  - abcde
                              city:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: City of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              dob:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Date of birth of the user making the deposit
                                examples:
                                  - '1990-01-01'
                                  - '1995-05-15'
                                  - '1988-12-31'
                              phoneNumber:
                                type: string
                                maxLength: 30
                                description: Phone number of the user making the deposit
                                examples:
                                  - '+447700900123'
                                  - '+447700900456'
                                  - '+447700900789'
                              kycId:
                                type: string
                                minLength: 1
                                maxLength: 300
                                description: >-
                                  KYC ID of the user making the deposit on your
                                  platform (if the KYC is done by you, add the
                                  url)
                                examples:
                                  - kyc-12345
                                  - kyc-67890
                                  - kyc-abcde
                              activity:
                                type: string
                                description: Activity of the user making the deposit
                                examples:
                                  - worker
                                  - business
                                  - student
                            required:
                              - userType
                              - firstName
                              - userEmail
                              - country
                          - type: object
                            properties:
                              userType:
                                type: string
                                enum:
                                  - business
                              businessName:
                                type: string
                                maxLength: 150
                                description: >-
                                  Business name (required when userType is
                                  business)
                                examples:
                                  - Acme Corp
                                  - Tech Solutions Inc
                                  - Global Services Ltd
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: >-
                                  First name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - John
                                  - Alice
                                  - Bob
                              userEmail:
                                type: string
                                maxLength: 254
                                format: email
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the deposit
                                examples:
                                  - user@virtuabroker.com
                                  - john.doe@example.com
                                  - alice@example.com
                              address:
                                type: string
                                maxLength: 150
                                description: Address of the user making the deposit
                                examples:
                                  - 123 Main St, Anytown, ES
                                  - 456 Elm St, Anytown, ES
                                  - 789 Oak St, Anytown, ES
                              taxDocumentType:
                                type: string
                                maxLength: 50
                                description: >-
                                  Tax document type of the user making the
                                  deposit. Common values: DNI, NIE, PASSPORT,
                                  CC, NIT, CE, NIF, but any string is accepted.
                                examples:
                                  - CC
                                  - NIT
                                  - CE
                                  - NIF
                                  - Other
                              taxId:
                                type: string
                                maxLength: 30
                                description: Tax ID of the user making the deposit
                                examples:
                                  - 123-45-6789
                                  - 987-65-4321
                                  - 111-22-3333
                              country:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country code of the user making the deposit
                                examples:
                                  - ES
                                  - US
                                  - GB
                              state:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: State of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              postalCode:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Postal code of the user making the deposit
                                examples:
                                  - '12345'
                                  - '67890'
                                  - abcde
                              city:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: City of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              dob:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Date of birth of the user making the deposit
                                examples:
                                  - '1990-01-01'
                                  - '1995-05-15'
                                  - '1988-12-31'
                              phoneNumber:
                                type: string
                                maxLength: 30
                                description: Phone number of the user making the deposit
                                examples:
                                  - '+447700900123'
                                  - '+447700900456'
                                  - '+447700900789'
                              kycId:
                                type: string
                                minLength: 1
                                maxLength: 300
                                description: >-
                                  KYC ID of the user making the deposit on your
                                  platform (if the KYC is done by you, add the
                                  url)
                                examples:
                                  - kyc-12345
                                  - kyc-67890
                                  - kyc-abcde
                              activity:
                                type: string
                                description: Activity of the user making the deposit
                                examples:
                                  - worker
                                  - business
                                  - student
                            required:
                              - userType
                              - businessName
                              - firstName
                              - userEmail
                              - country
                        description: User data of the person/company making the deposit
                        examples:
                          - userType: individual
                            firstName: John
                            lastName: Doe
                            userEmail: user@virtuabroker.com
                            address: 123 Main St, Anytown, ES
                            taxId: 123-45-6789
                            country: ES
                          - userType: individual
                            firstName: Alice
                            lastName: Smith
                            userEmail: alice@example.com
                            address: 456 Elm St, Anytown, ES
                            taxId: 987-65-4321
                            country: ES
                      createdAt:
                        type: number
                        description: Creation time of the deposit
                        examples:
                          - 1723027132
                          - 1723027133
                          - 1723027134
                      rail:
                        type: string
                        enum:
                          - BALANCE
                          - SEPA
                          - BTC
                          - ETH
                          - MATIC
                          - POLYGON
                          - CELO
                          - TRON
                          - SOLANA
                          - ARBITRUM
                          - OPTIMISM
                          - AVALANCHE
                          - BSC
                          - BASE
                          - XRP
                          - PIX_BR
                          - UPI
                          - IMPS
                          - TRY_BANK_TRANSFER
                          - AED_BANK_TRANSFER
                          - SPEI
                          - IDR_BANK_TRANSFER
                          - CREDIT_CARD
                          - THAI_QR
                          - VIET_QR
                          - GCASH
                          - ARGENTINA_BANK_TRANSFER
                          - PSE
                          - CLABE
                          - PIX
                          - BANK_DEPOSIT_COL
                          - BANK_DEPOSIT_AR
                          - BANK_DEPOSIT_CL
                          - BANK_DEPOSIT_PE
                          - BANK_DEPOSIT_BO
                          - BANK_DEPOSIT_BR
                          - BANK_DEPOSIT_NG
                          - BANK_DEPOSIT_KE
                          - BANK_DEPOSIT_GH
                          - BANK_DEPOSIT_ZA
                          - BANK_DEPOSIT_TZ
                          - BANK_DEPOSIT_UG
                          - BANK_DEPOSIT_RW
                          - BANK_DEPOSIT_MW
                          - BANK_DEPOSIT_ZM
                          - BANK_DEPOSIT_BW
                          - BANK_DEPOSIT_CD
                          - BANK_DEPOSIT_XOF
                          - BANK_DEPOSIT_XAF
                          - MOBILE_MONEY_NG
                          - MOBILE_MONEY_KE
                          - MOBILE_MONEY_GH
                          - MOBILE_MONEY_ZA
                          - MOBILE_MONEY_TZ
                          - MOBILE_MONEY_UG
                          - MOBILE_MONEY_RW
                          - MOBILE_MONEY_MW
                          - MOBILE_MONEY_ZM
                          - MOBILE_MONEY_BW
                          - MOBILE_MONEY_CD
                          - MOBILE_MONEY_XOF
                          - MOBILE_MONEY_XAF
                          - ACH_US
                          - GBP_BANK_TRANSFER
                        description: Rail of the deposit
                      receivedAt:
                        type: number
                        description: >-
                          Unix ms timestamp of when the funds for this deposit
                          ARRIVED — recorded when the incoming payment is
                          matched to the deposit, which is before it is
                          credited. Present whenever funds have arrived,
                          including a deposit whose funds are still held in
                          review; omitted entirely when no funds ever arrived,
                          so a never-funded or cancelled deposit has no value
                          here and its presence is a reliable settlement signal
                          for reconciliation. Identical on GET /v1/deposits and
                          GET /v1/deposits/{depositId}. Note that the deposit
                          object embedded in order and operation responses does
                          not yet apply this rule — it returns the stored value.
                          Not the creation time — use createdAt for that.
                        examples:
                          - 1723027132000
                          - 1723027133000
                          - 1723027134000
                      expectedAmount:
                        type: number
                        minimum: 0
                        description: Amount expected of the deposit
                        examples:
                          - 1000
                          - 2000
                          - 3000
                      amount:
                        type: number
                        minimum: 0
                        description: Amount received of the deposit
                        examples:
                          - 1000
                          - 2000
                          - 3000
                      currency:
                        anyOf:
                          - type: string
                            enum:
                              - EUR
                              - USD
                              - GBP
                              - BRL
                              - MXN
                              - ARS
                              - COP
                              - PEN
                              - NGN
                              - KES
                              - TZS
                              - UGX
                              - RWF
                              - MWK
                              - ZMW
                              - XOF
                              - XAF
                              - BWP
                          - type: string
                            enum:
                              - USDC
                              - USDT
                              - CUSD
                              - BTC
                              - ETH
                              - POL
                              - SOL
                              - TRX
                              - AVAX
                              - XRP
                              - BNB
                        description: Currency of the deposit
                        examples:
                          - EUR
                          - BRL
                      fee:
                        type: number
                        minimum: 0
                        description: >-
                          Fee for the deposit. This value is written once the
                          deposit has been executed. Meanwhile it will appear 0.
                        example: 10
                      expectedFee:
                        type: number
                        minimum: 0
                        description: >-
                          Fee for the deposit. This value is correlated with the
                          expected amount for the deposit.
                        examples:
                          - 10
                          - 20
                          - 30
                      feeCurrency:
                        anyOf:
                          - type: string
                            enum:
                              - EUR
                              - USD
                              - GBP
                              - BRL
                              - MXN
                              - ARS
                              - COP
                              - PEN
                              - NGN
                              - KES
                              - TZS
                              - UGX
                              - RWF
                              - MWK
                              - ZMW
                              - XOF
                              - XAF
                              - BWP
                          - type: string
                            enum:
                              - USDC
                              - USDT
                              - CUSD
                              - BTC
                              - ETH
                              - POL
                              - SOL
                              - TRX
                              - AVAX
                              - XRP
                              - BNB
                        description: Currency of the fee
                        examples:
                          - EUR
                          - BRL
                      status:
                        anyOf:
                          - type: string
                            enum:
                              - Pending
                              - Processing
                              - Success
                              - Failed
                              - Canceled
                              - Reviewing
                            description: >-
                              Common status values that are shared across all
                              operation types
                            examples:
                              - Pending
                              - Processing
                              - Success
                              - Failed
                              - Canceled
                              - Reviewing
                          - type: string
                            enum:
                              - PendingCancel
                              - Received
                        description: Status of the deposit
                        examples:
                          - Pending
                          - Success
                          - Failed
                          - Received
                          - PendingCancel
                      depositInfo:
                        oneOf:
                          - type: object
                            properties:
                              accountHolder:
                                type: string
                                description: Name of the account holder
                                example: John Doe
                              iban:
                                type: string
                                description: SEPA Bank Account Number
                                example: DE8937XXXXXXXXXXXX3000
                              bic:
                                type: string
                                description: Bank BIC/SWIFT code
                                example: DEUTDEFF
                              bankName:
                                type: string
                                description: Name of the bank
                                example: Deutsche Bank
                              bankAddress:
                                type: string
                                description: Address of the bank
                                example: Taunusanlage 12
                              bankCity:
                                type: string
                                description: City of the bank
                                example: Frankfurt am Main
                              bankZipcode:
                                type: string
                                description: Zipcode of the bank
                                example: '60325'
                              bankCountry:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country of the bank
                                example: DE
                              depositType:
                                type: string
                                enum:
                                  - SEPA
                              amount:
                                type: number
                                minimum: 0
                                description: >-
                                  Expected deposit amount. It can be 0 for
                                  open-amount bank transfers where the sender
                                  chooses the final amount from their bank.
                                example: 1000
                              referenceCode:
                                type: string
                                minLength: 1
                                description: >-
                                  A unique identifier for the deposit, crucial
                                  for matching the deposit with the
                                  corresponding order. The user must include
                                  this code when making the deposit to ensure
                                  accurate processing. In cases where the
                                  reference code is incorrect or missing, we
                                  manually match orders based on the sender's
                                  name and other available details. In case the
                                  deposit is not matched, we will mark the order
                                  as Reviewing and the system will require
                                  manual attention.
                                example: REF123456
                              extraDepositMethods:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    methodType:
                                      type: string
                                      enum:
                                        - HOSTED_CHECKOUT
                                      description: >-
                                        HOSTED_CHECKOUT: a hosted payment page
                                        to send the payer to (card). More types
                                        may be added — treat an unknown value as
                                        unsupported and fall back to the bank
                                        details in `depositInfo`.
                                    url:
                                      type: string
                                      description: >-
                                        URL to send the payer to. For
                                        HOSTED_CHECKOUT, redirect the payer here
                                        (or embed it) to pay by card.
                                      example: https://checkout.example.com/pay/abc123
                                    callbackUrl:
                                      type: string
                                      description: >-
                                        Where the payer’s BROWSER is returned
                                        after paying. Informational only: it is
                                        not a server-to-server notification, and
                                        a payer landing there is NOT proof of
                                        payment — rely on the deposit status or
                                        webhooks for that.
                                    referenceCode:
                                      type: string
                                      description: >-
                                        Payment reference for this method
                                        (equals the deposit/order reference)
                                    amount:
                                      type: number
                                      description: >-
                                        Amount payable via this method when it
                                        differs from the deposit amount (e.g. a
                                        method-specific surcharge)
                                    currency:
                                      type: string
                                      description: Currency of this method
                                    expiresAt:
                                      type: number
                                      description: >-
                                        Unix ms after which `url` is no longer
                                        valid, when known
                                  required:
                                    - methodType
                                    - url
                                  description: >-
                                    An additional, optional way to pay this
                                    deposit
                                description: >-
                                  Additional, optional ways to pay this same
                                  deposit (e.g. a hosted card page). The bank
                                  details above remain the primary method;
                                  ignore this field if you only support bank
                                  transfer.
                            required:
                              - depositType
                              - amount
                              - referenceCode
                            description: >-
                              Detailed information about a bank deposit,
                              including the amount and a unique reference code
                              for identification.
                          - type: object
                            properties:
                              address:
                                type: string
                                minLength: 1
                                description: Crypto wallet address
                                example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                              network:
                                type: string
                                enum:
                                  - MATIC
                                  - ETH
                                  - CELO
                                  - TRON
                                  - BTC
                                  - SOLANA
                                  - XRP
                                  - CARDANO
                                  - BSC
                                  - ARBITRUM
                                  - OPTIMISM
                                  - AVALANCHE
                                  - BASE
                                description: Network for the deposit for crypto deposits
                                examples:
                                  - ETH
                                  - MATIC
                                  - CELO
                              memo:
                                type: string
                                description: Optional memo for the transaction
                                example: Payment for services
                              depositType:
                                type: string
                                enum:
                                  - CRYPTO
                              qrCode:
                                type: string
                                description: >-
                                  Base64-encoded QR image for the deposit
                                  address
                                example: >-
                                  iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                              qrCodeUrl:
                                type: string
                                format: uri
                                description: 7-day signed GCS URL of the QR code PNG
                              qrCodeExpiresAt:
                                type: number
                                description: Unix timestamp (ms) when qrCodeUrl expires
                              receivingAddress:
                                type: string
                                description: The wallet address where funds should be sent
                                example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                              tokenContract:
                                type: string
                                description: The ERC20 token contract address
                                example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                              decimals:
                                type: number
                                description: Token decimals (default 18)
                                example: 18
                            required:
                              - address
                              - network
                              - depositType
                            description: Crypto Deposit Information
                          - type: object
                            properties:
                              base64QRCode:
                                type: string
                                minLength: 1
                                description: Base64 encoded QR code
                                example: base64QRCode
                              qrCodeString:
                                type: string
                                minLength: 1
                                description: >-
                                  The Pix copy-and-paste code (BR Code payload)
                                  the payer pastes into their bank app. Pass it
                                  through unchanged — it carries its own
                                  checksum.
                                example: qrCodeString
                              referenceCode:
                                type: string
                                minLength: 1
                                description: >-
                                  A unique identifier for the deposit, crucial
                                  for matching the deposit with the
                                  corresponding order
                                example: REF123456
                              amount:
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                                description: >-
                                  The monetary value to be deposited into the
                                  bank. This amount should be positive and
                                  accurately reflect the intended deposit.
                                example: 1000
                              depositType:
                                type: string
                                enum:
                                  - PIX
                            required:
                              - base64QRCode
                              - qrCodeString
                              - referenceCode
                              - amount
                              - depositType
                            description: Pix Deposit Information
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - CREDIT_CARD
                            required:
                              - depositType
                          - type: object
                            properties:
                              bankName:
                                type: string
                                description: >-
                                  Name of the bank (present when the rail
                                  provides it)
                              accountHolder:
                                type: string
                                description: >-
                                  Name of the account holder (present when the
                                  rail provides it)
                              clabe:
                                type: string
                                description: CLABE number
                              accountNumber:
                                type: string
                                description: >-
                                  Bank account number (e.g. from the
                                  BANK_TRANSFER payment method)
                              reference:
                                type: string
                                description: >-
                                  Payment reference (e.g. from the BANK_TRANSFER
                                  payment method)
                              depositType:
                                type: string
                                enum:
                                  - CLABE
                                description: Type of the deposit
                            required:
                              - clabe
                              - depositType
                          - type: object
                            properties:
                              url:
                                type: string
                                description: URL of the PSE payment
                              amountPrefilled:
                                type: boolean
                                description: >-
                                  Whether the payment page already carries the
                                  amount. When false or absent, the payer must
                                  enter it.
                              depositType:
                                type: string
                                enum:
                                  - PSE
                                description: Type of the deposit
                            required:
                              - url
                              - depositType
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BALANCE
                            required:
                              - depositType
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - PENDING
                              currency:
                                type: string
                                description: Currency of the deposit
                              referenceCode:
                                type: string
                                description: Reference code for the order/deposit
                              amount:
                                type: number
                                minimum: 0
                                description: >-
                                  Expected deposit amount. It can be 0 while
                                  bank transfer details are open-amount or still
                                  being provisioned.
                              extraDepositMethods:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    methodType:
                                      type: string
                                      enum:
                                        - HOSTED_CHECKOUT
                                      description: >-
                                        HOSTED_CHECKOUT: a hosted payment page
                                        to send the payer to (card). More types
                                        may be added — treat an unknown value as
                                        unsupported and fall back to the bank
                                        details in `depositInfo`.
                                    url:
                                      type: string
                                      description: >-
                                        URL to send the payer to. For
                                        HOSTED_CHECKOUT, redirect the payer here
                                        (or embed it) to pay by card.
                                      example: https://checkout.example.com/pay/abc123
                                    callbackUrl:
                                      type: string
                                      description: >-
                                        Where the payer’s BROWSER is returned
                                        after paying. Informational only: it is
                                        not a server-to-server notification, and
                                        a payer landing there is NOT proof of
                                        payment — rely on the deposit status or
                                        webhooks for that.
                                    referenceCode:
                                      type: string
                                      description: >-
                                        Payment reference for this method
                                        (equals the deposit/order reference)
                                    amount:
                                      type: number
                                      description: >-
                                        Amount payable via this method when it
                                        differs from the deposit amount (e.g. a
                                        method-specific surcharge)
                                    currency:
                                      type: string
                                      description: Currency of this method
                                    expiresAt:
                                      type: number
                                      description: >-
                                        Unix ms after which `url` is no longer
                                        valid, when known
                                  required:
                                    - methodType
                                    - url
                                  description: >-
                                    An additional, optional way to pay this
                                    deposit
                                description: >-
                                  Additional ways to pay while the bank details
                                  are being provisioned (e.g. a hosted card
                                  page). Optional — ignore it and wait for the
                                  bank details if you only support bank
                                  transfer.
                              pendingReason:
                                type: string
                                enum:
                                  - collection_account_activating
                                  - accountless_per_account_corridor
                                description: >-
                                  Why the instructions are still being
                                  provisioned, when the reason is known.
                                  `collection_account_activating` means the
                                  collection account for this payer is being
                                  activated and payable details are expected
                                  shortly. `accountless_per_account_corridor`
                                  means this corridor collects only into a
                                  collection account dedicated to the paying
                                  account, this request names no account, and
                                  none can be created for it — so payable
                                  details will NOT arrive by waiting; create the
                                  deposit against an account instead. Absence
                                  never conveys timing on either surface: here
                                  it means only that no reason is classifiable,
                                  and an account-level deposit-method
                                  instruction never carries the field at all.
                                  Treat the values as an open set and ignore any
                                  you do not recognise.
                            required:
                              - depositType
                              - currency
                              - referenceCode
                              - amount
                            description: >-
                              Deposit details are being provisioned; poll the
                              order/deposit or wait for webhook
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - IMPS
                              accountNumber:
                                type: string
                                description: Account number
                              bankName:
                                type: string
                                description: Name of the bank
                              accountHolder:
                                type: string
                                description: Name of the account holder
                              ifsc:
                                type: string
                                description: ifsc number
                              type:
                                type: string
                                description: Type of the deposit
                              branch:
                                type: string
                                description: Branch of the bank
                              bank:
                                type: string
                                description: Bank of the account
                              otp:
                                type: string
                                description: OTP of the deposit
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - accountNumber
                              - bankName
                              - accountHolder
                              - ifsc
                              - type
                              - branch
                              - bank
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - UPI
                              vpa:
                                type: string
                                description: Virtual Payment Address
                              name:
                                type: string
                                description: Name of the account holder
                              otp:
                                type: string
                                description: OTP for the transaction
                              paymentLink:
                                type: string
                                description: Payment link
                              upiNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional UPI instructions
                            required:
                              - depositType
                              - vpa
                              - name
                              - otp
                              - paymentLink
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - AED_BANK_TRANSFER
                              iban:
                                type: string
                                description: International Bank Account Number
                              name:
                                type: string
                                description: Name of the account holder
                              bank:
                                type: string
                                description: Bank name
                              type:
                                type: string
                                description: Account type
                              address:
                                type: string
                                description: Bank address
                              email:
                                type: string
                                description: Contact email
                              phoneNumber:
                                type: string
                                description: Contact phone number
                              transferCode:
                                type: string
                                description: Transfer code
                              poBox:
                                type: string
                                description: P.O. Box
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - iban
                              - name
                              - bank
                              - type
                              - address
                              - email
                              - phoneNumber
                              - transferCode
                              - poBox
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - SPEI
                              clabe:
                                type: string
                                description: CLABE number
                              name:
                                type: string
                                description: Name of the account holder
                              bank:
                                type: string
                                description: Bank name
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - clabe
                              - name
                              - bank
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - TRY_BANK_TRANSFER
                              iban:
                                type: string
                                description: International Bank Account Number
                              name:
                                type: string
                                description: Name of the account holder
                              bank:
                                type: string
                                description: Bank name
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - iban
                              - name
                              - bank
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - IDR_BANK_TRANSFER
                              virtualAccount:
                                type: string
                                description: Virtual account number
                              name:
                                type: string
                                description: Name of the account holder
                              bank:
                                type: string
                                description: Bank name
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - virtualAccount
                              - name
                              - bank
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - THAI_QR
                              qrCode:
                                type: string
                                description: QR code
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - qrCode
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - VIET_QR
                              qrCode:
                                type: string
                                description: QR code
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - qrCode
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - GCASH
                              qrCode:
                                type: string
                                description: QR code
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - qrCode
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - ARGENTINA_BANK_TRANSFER
                              accountNumber:
                                type: string
                                description: Account number
                              accountHolder:
                                type: string
                                description: Account holder name
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - accountNumber
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - ACH_US
                              routingNumber:
                                type: string
                                description: US bank ABA routing number
                              accountNumber:
                                type: string
                                description: US bank account number
                              beneficiaryName:
                                type: string
                                description: Beneficiary name on the account
                              bankName:
                                type: string
                                description: Name of the bank
                              bankAddress:
                                type: string
                                description: Address of the bank
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names (e.g. ACH, Wire)
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount in USD
                              referenceCode:
                                type: string
                                minLength: 1
                                description: >-
                                  Reference code to include in the wire/ACH
                                  transfer
                            required:
                              - depositType
                              - routingNumber
                              - accountNumber
                              - beneficiaryName
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - ACH_PULL
                            required:
                              - depositType
                            description: >-
                              Funds are pulled from the holder's own linked US
                              bank account; no transfer instructions apply
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - LOCALBANK
                                description: >-
                                  Deprecated generic local-bank payin type.
                                  Superseded by the corridor-specific deposit
                                  types (e.g. SEPA, ACH_US, GBP_BANK_TRANSFER,
                                  CLABE/SPEI, PIX, ARGENTINA_BANK_TRANSFER,
                                  BANK_DEPOSIT_<CC>). Still returned on some
                                  corridors and on historical records, so
                                  integrators must continue to handle it.
                                  Discover the applicable per-currency method
                                  via GET
                                  /v1/currencies/{currency}/payin-schema.
                                deprecated: true
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - GBP_BANK_TRANSFER
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: UK bank account number
                              sortCode:
                                type: string
                                description: UK sort code
                              bankName:
                                type: string
                                description: Name of the bank
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: >-
                                  Accepted payment scheme names (e.g. Faster
                                  Payments, CHAPS, BACS)
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount in GBP
                              referenceCode:
                                type: string
                                minLength: 1
                                description: Reference code to include in the transfer
                            required:
                              - depositType
                              - accountHolder
                              - accountNumber
                              - sortCode
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_COL
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CL
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BO
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BR
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_NG
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_KE
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_GH
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZA
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TZ
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_UG
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_RW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZM
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CD
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XOF
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XAF
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_NG
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_KE
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_GH
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZA
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_TZ
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_UG
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_RW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_MW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZM
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_BW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_CD
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XOF
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XAF
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                        description: Details of the deposit
                        examples:
                          - accountHolder: John Doe
                            iban: DE8937XXXXXXXXXXXX3000
                            bic: COBADEFFXXX
                            bankName: Commerzbank
                            bankAddress: Mainzer Landstrasse 151-153
                            bankCity: Frankfurt
                            bankZipcode: '60327'
                            bankCountry: DE
                            amount: 1000
                            referenceCode: ABC123
                            depositType: SEPA
                      depositInfoPending:
                        type: boolean
                        description: >-
                          True while the payment instructions are still being
                          prepared. Poll this deposit until it is false (or
                          absent) before showing the instructions to the payer.
                      complianceHold:
                        type: object
                        properties:
                          reason:
                            type: string
                            enum:
                              - screening
                              - fiat_monitoring
                            description: Compliance hold reason
                        required:
                          - reason
                        description: >-
                          Present while the inbound transfer funding this
                          deposit is held in provider compliance review. The
                          deposit stays Reviewing (amount 0, never credited)
                          until the hold clears (promote to Received) or the
                          transfer is rejected/returned (terminalize).
                    required:
                      - depositId
                      - createdAt
                      - expectedAmount
                      - amount
                      - currency
                      - fee
                      - expectedFee
                      - feeCurrency
                      - status
                      - depositInfo
                    description: Details of the deposit associated with the order
                  trade:
                    type: object
                    properties:
                      tradeId:
                        type: string
                        description: ID of the trade
                        example: 123e4567-e89b-12d3-a456-426614174000
                      createdAt:
                        type: number
                        description: Creation time of the trade
                        example: 1723027132
                      pair:
                        type: string
                        description: Asset pair to trade
                        example: BTC/EUR
                      tradeType:
                        type: string
                        enum:
                          - buy
                          - sell
                        description: Type of trade
                      volume:
                        type: number
                        minimum: 0
                        exclusiveMinimum: true
                        description: Order quantity in lots
                        example: 0.5
                      price:
                        type: number
                        minimum: 0
                        exclusiveMinimum: true
                        description: Price at which to place the order based on the pair
                        example: 30000
                      conversionRate:
                        type: number
                        minimum: 0
                        exclusiveMinimum: true
                        description: >-
                          Conversion rate at which to place the order based on
                          the pair
                        example: 30000
                      fee:
                        type: number
                        minimum: 0
                        description: Fee for the trade
                        example: 0.1
                      feeCurrency:
                        type: string
                        description: Currency of the fee
                        example: EUR
                      userEmail:
                        type: string
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: Email of the user making the trade
                        example: user@example.com
                    required:
                      - tradeId
                      - createdAt
                      - pair
                      - tradeType
                      - volume
                      - fee
                      - feeCurrency
                      - userEmail
                    description: Details of the trade associated with the order
                  withdraw:
                    type: object
                    properties:
                      withdrawalId:
                        anyOf:
                          - type: string
                            minLength: 12
                            maxLength: 12
                            pattern: ^[A-Z0-9]{12}$
                            examples:
                              - 01CLFXMT67II
                              - 2R7E5Y5KFXP8
                              - 4FWWRE3Y2URM
                          - type: string
                            format: uuid
                        description: ID of the withdrawal
                      userData:
                        oneOf:
                          - type: object
                            properties:
                              userType:
                                type: string
                                enum:
                                  - individual
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: >-
                                  First name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - John
                                  - Alice
                                  - Bob
                              lastName:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: >-
                                  Last name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - Doe
                                  - Smith
                                  - Johnson
                              userEmail:
                                type: string
                                maxLength: 254
                                format: email
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the deposit
                                examples:
                                  - user@virtuabroker.com
                                  - john.doe@example.com
                                  - alice@example.com
                              address:
                                type: string
                                maxLength: 150
                                description: Address of the user making the deposit
                                examples:
                                  - 123 Main St, Anytown, ES
                                  - 456 Elm St, Anytown, ES
                                  - 789 Oak St, Anytown, ES
                              taxDocumentType:
                                type: string
                                maxLength: 50
                                description: >-
                                  Tax document type of the user making the
                                  deposit. Common values: DNI, NIE, PASSPORT,
                                  CC, NIT, CE, NIF, but any string is accepted.
                                examples:
                                  - CC
                                  - NIT
                                  - CE
                                  - NIF
                                  - Other
                              taxId:
                                type: string
                                maxLength: 30
                                description: Tax ID of the user making the deposit
                                examples:
                                  - 123-45-6789
                                  - 987-65-4321
                                  - 111-22-3333
                              country:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country code of the user making the deposit
                                examples:
                                  - ES
                                  - US
                                  - GB
                              state:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: State of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              postalCode:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Postal code of the user making the deposit
                                examples:
                                  - '12345'
                                  - '67890'
                                  - abcde
                              city:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: City of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              dob:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Date of birth of the user making the deposit
                                examples:
                                  - '1990-01-01'
                                  - '1995-05-15'
                                  - '1988-12-31'
                              phoneNumber:
                                type: string
                                maxLength: 30
                                description: Phone number of the user making the deposit
                                examples:
                                  - '+447700900123'
                                  - '+447700900456'
                                  - '+447700900789'
                              kycId:
                                type: string
                                minLength: 1
                                maxLength: 300
                                description: >-
                                  KYC ID of the user making the deposit on your
                                  platform (if the KYC is done by you, add the
                                  url)
                                examples:
                                  - kyc-12345
                                  - kyc-67890
                                  - kyc-abcde
                              activity:
                                type: string
                                description: Activity of the user making the deposit
                                examples:
                                  - worker
                                  - business
                                  - student
                            required:
                              - userType
                              - firstName
                              - userEmail
                              - country
                          - type: object
                            properties:
                              userType:
                                type: string
                                enum:
                                  - business
                              businessName:
                                type: string
                                maxLength: 150
                                description: >-
                                  Business name (required when userType is
                                  business)
                                examples:
                                  - Acme Corp
                                  - Tech Solutions Inc
                                  - Global Services Ltd
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: >-
                                  First name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - John
                                  - Alice
                                  - Bob
                              userEmail:
                                type: string
                                maxLength: 254
                                format: email
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the deposit
                                examples:
                                  - user@virtuabroker.com
                                  - john.doe@example.com
                                  - alice@example.com
                              address:
                                type: string
                                maxLength: 150
                                description: Address of the user making the deposit
                                examples:
                                  - 123 Main St, Anytown, ES
                                  - 456 Elm St, Anytown, ES
                                  - 789 Oak St, Anytown, ES
                              taxDocumentType:
                                type: string
                                maxLength: 50
                                description: >-
                                  Tax document type of the user making the
                                  deposit. Common values: DNI, NIE, PASSPORT,
                                  CC, NIT, CE, NIF, but any string is accepted.
                                examples:
                                  - CC
                                  - NIT
                                  - CE
                                  - NIF
                                  - Other
                              taxId:
                                type: string
                                maxLength: 30
                                description: Tax ID of the user making the deposit
                                examples:
                                  - 123-45-6789
                                  - 987-65-4321
                                  - 111-22-3333
                              country:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country code of the user making the deposit
                                examples:
                                  - ES
                                  - US
                                  - GB
                              state:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: State of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              postalCode:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Postal code of the user making the deposit
                                examples:
                                  - '12345'
                                  - '67890'
                                  - abcde
                              city:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: City of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              dob:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Date of birth of the user making the deposit
                                examples:
                                  - '1990-01-01'
                                  - '1995-05-15'
                                  - '1988-12-31'
                              phoneNumber:
                                type: string
                                maxLength: 30
                                description: Phone number of the user making the deposit
                                examples:
                                  - '+447700900123'
                                  - '+447700900456'
                                  - '+447700900789'
                              kycId:
                                type: string
                                minLength: 1
                                maxLength: 300
                                description: >-
                                  KYC ID of the user making the deposit on your
                                  platform (if the KYC is done by you, add the
                                  url)
                                examples:
                                  - kyc-12345
                                  - kyc-67890
                                  - kyc-abcde
                              activity:
                                type: string
                                description: Activity of the user making the deposit
                                examples:
                                  - worker
                                  - business
                                  - student
                            required:
                              - userType
                              - businessName
                              - firstName
                              - userEmail
                              - country
                        description: User data for the withdrawal
                      createdAt:
                        type: number
                        description: Creation time of the withdrawal
                        example: 1723027132
                      updatedAt:
                        type: number
                        description: Last update time of the withdrawal
                        example: 1723027132
                      userEmail:
                        type: string
                        format: email
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: Email of the user making the request
                        example: user@example.com
                      amount:
                        type: number
                        description: >-
                          Amount to be withdrawn. This value is written once the
                          withdrawal has been executed. Meanwhile it will appear
                          0.
                        example: 1000
                      currency:
                        type: string
                        description: Currency of the withdrawal
                        example: EUR
                      fee:
                        type: number
                        description: >-
                          Fee for the withdrawal. This value is written once the
                          withdrawal has been executed. Meanwhile it will appear
                          0.
                        example: 10
                      feeCurrency:
                        type: string
                        description: Currency of the fee
                        example: EUR
                      destinationTransferData:
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BALANCE
                            required:
                              - type
                            description: Balance transfer details
                            title: Balance
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              iban:
                                type: string
                                description: IBAN number
                              bic:
                                type: string
                                description: BIC number (optional)
                              country:
                                type: string
                                description: Country code
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for SEPA
                                  payouts — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  SEPA payouts — provide it here or in
                                  destinationUserData.postalCode.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as the payout beneficiary
                                  `address.line1` when registering the
                                  beneficiary. Stored on the saved transaction
                                  method so the user does not have to re-supply
                                  it on every withdraw.
                              type:
                                type: string
                                enum:
                                  - SEPA
                            required:
                              - destinationName
                              - iban
                              - country
                              - type
                            description: SEPA transfer details
                            title: SEPA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              accountNumber:
                                type: string
                                description: UK bank account number
                              sortCode:
                                type: string
                                description: UK sort code
                              country:
                                type: string
                                enum:
                                  - GB
                                default: GB
                                description: >-
                                  ISO 3166 country code of the recipient (GBP
                                  transfer is UK-based)
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for this rail
                                  — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  this rail — provide it here or in
                                  destinationUserData.postalCode.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as payee address when creating the
                                  payee.
                              type:
                                type: string
                                enum:
                                  - GBP_BANK_TRANSFER
                            required:
                              - destinationName
                              - accountNumber
                              - sortCode
                              - type
                            description: GBP domestic bank transfer details
                            title: BankDepositGB
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              accountNumber:
                                type: string
                                description: US bank account number
                              routingNumber:
                                type: string
                                description: US ABA routing number
                              country:
                                type: string
                                enum:
                                  - US
                                default: US
                                description: >-
                                  ISO 3166 country code of the recipient (ACH is
                                  US-domestic)
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              bankAccountType:
                                type: string
                                enum:
                                  - CHECKING
                                  - SAVINGS
                                default: CHECKING
                                description: >-
                                  Kind of bank account the payout lands in.
                                  Defaults to CHECKING when omitted.
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for this rail
                                  — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  this rail — provide it here or in
                                  destinationUserData.postalCode.
                              state:
                                type: string
                                pattern: ^[A-Z]{2}$
                                description: >-
                                  Two-letter US state code of the recipient
                                  (e.g. NY). REQUIRED for this rail.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as payee address when creating the
                                  payee.
                              type:
                                type: string
                                enum:
                                  - ACH_US
                            required:
                              - destinationName
                              - accountNumber
                              - routingNumber
                              - state
                              - type
                            description: USD ACH transfer details
                            title: AchUS
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - linkedBankAccount
                              accountLinkId:
                                type: string
                                pattern: ^alnk_[0-9a-f]{24}$
                                description: >-
                                  Identifier of one of the account holder own
                                  linked bank accounts
                                examples:
                                  - alnk_0123456789abcdef01234567
                            required:
                              - type
                              - accountLinkId
                            description: >-
                              A bank account the account holder linked
                              beforehand. Pays out only to the holder of the
                              order; never to a third party. Not available yet.
                            title: LinkedBankAccount
                            deprecated: true
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - ETH
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: ETH destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: ETH
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - MATIC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: MATIC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: MATIC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - SOL
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: SOL destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: SOL
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - TRON
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: TRON destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: TRON
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - CELO
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: CELO destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: CELO
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BTC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BTC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: BTC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - SOLANA
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: SOLANA destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: SOLANA
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - XRP
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: XRP destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: XRP
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - CARDANO
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: CARDANO destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: CARDANO
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BSC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BSC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: BSC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - ARBITRUM
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: ARBITRUM destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: ARBITRUM
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - OPTIMISM
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: OPTIMISM destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: OPTIMISM
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - AVALANCHE
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: AVALANCHE destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: AVALANCHE
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BASE
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BASE destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: BASE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/COP/networks. Not read by the
                                  payout; retained for the network selector and
                                  for stored records.
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_COL
                              destinationBankCode:
                                type: string
                                description: >-
                                  Recipient bank code — one of the 4-digit codes
                                  published by GET
                                  /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                  (the code, not the name). Required when
                                  creating or updating a destination.
                              destinationBankAccountType:
                                type: string
                                description: >-
                                  Bank account type — CORRIENTE or AHORRO.
                                  Required when creating or updating a
                                  destination.
                              destinationTaxId:
                                type: string
                                description: >-
                                  Recipient ID document number. Required when
                                  creating or updating a destination.
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Recipient ID document type — CC, CE, NIT, TI
                                  or PP. Required when creating or updating a
                                  destination.
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Colombian bank deposit details. Equivalent to
                              ACH_COP — same payout rail, same required fields,
                              same bank roster; ACH_COP is recommended for new
                              integrations. Note that BANK_DEPOSIT_COL is also
                              the name of a COP collection rail.
                            title: Bank Deposit COL
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              brebKey:
                                type: string
                                minLength: 1
                                description: >-
                                  Bre-B key (llave) that identifies the
                                  recipient account
                              email:
                                type: string
                                description: >-
                                  Recipient email (optional contact for the
                                  Bre-B rail)
                              destinationPhoneNumber:
                                type: string
                                description: >-
                                  Recipient phone number (optional contact for
                                  the Bre-B rail)
                              type:
                                type: string
                                enum:
                                  - BRE_B_COP
                            required:
                              - destinationName
                              - brebKey
                              - type
                            description: Colombian Bre-B payout details
                            title: Bre-B COP
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                pattern: ^\d{4}$
                                description: >-
                                  Recipient bank code — one of the 4-digit codes
                                  published by GET
                                  /v1/currencies/COP/destination-schema?method=achCOP
                                  (the code, not the name)
                              destinationBankAccountNumber:
                                type: string
                                minLength: 1
                                description: Recipient bank account number
                              destinationBankAccountType:
                                type: string
                                minLength: 1
                                description: Bank account type (e.g. AHORROS / CORRIENTE)
                              destinationDocumentType:
                                type: string
                                minLength: 1
                                description: >-
                                  Recipient ID document type (e.g. CC / CE /
                                  NIT)
                              destinationTaxId:
                                type: string
                                minLength: 1
                                description: Recipient ID document number
                              type:
                                type: string
                                enum:
                                  - ACH_COP
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccountNumber
                              - destinationBankAccountType
                              - destinationDocumentType
                              - destinationTaxId
                              - type
                            description: Colombian ACH payout details
                            title: ACH COP
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (unused for TWD — no network
                                  discovery)
                              destinationBankName:
                                type: string
                                minLength: 2
                                description: >-
                                  Bank name (required — TWD payouts run over
                                  SWIFT)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TW
                              destinationBankBranch:
                                type: string
                                minLength: 2
                                description: >-
                                  Bank branch (required — TWD payouts run over
                                  SWIFT)
                              bic:
                                type: string
                                pattern: >-
                                  ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                                description: SWIFT BIC code (required for TWD payouts)
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account (legacy, optional)
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient (legacy, optional)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankName
                              - type
                              - destinationBankBranch
                              - bic
                            description: Taiwan bank deposit details (SWIFT payout)
                            title: Bank Deposit TW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankBranch:
                                type: string
                                description: Bank branch
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BR
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccount
                              - destinationBankBranch
                              - destinationTaxId
                              - type
                            description: Brazilian bank deposit details
                            title: Bank Deposit BR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPixCode:
                                type: string
                                description: PIX code
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient
                              type:
                                type: string
                                enum:
                                  - PIX_BR
                            required:
                              - destinationName
                              - destinationPixCode
                              - destinationTaxId
                              - type
                            description: Brazilian PIX details
                            title: PIX BR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccountNumber:
                                type: string
                                description: Bank account number
                              destinationBankName:
                                type: string
                                description: Name of the bank
                              destinationTaxId:
                                type: string
                                pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                description: Tax ID of the recipient
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_VEN
                            required:
                              - destinationName
                              - destinationBankAccountNumber
                              - destinationBankName
                              - destinationTaxId
                              - destinationBankAccountType
                              - type
                            description: Venezuelan bank deposit details
                            title: Bank Deposit VEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationTaxId:
                                type: string
                                pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                description: Tax ID of the recipient
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account
                              type:
                                type: string
                                enum:
                                  - PHONE_DEPOSIT_VEN
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationPhoneNumber
                              - destinationTaxId
                              - destinationBankAccountType
                              - type
                            description: Venezuelan phone deposit details
                            title: Phone Deposit VEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_IN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              India bank deposit details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Bank Deposit IN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - IMPS
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              India IMPS details. Deprecated — no active payout
                              corridor for this method; orders using it are
                              rejected. Retained for backward compatibility with
                              stored destinations.
                            title: IMPS
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - THAI_QR
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Thailand Thai QR details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Thai QR
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - VIET_QR
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Vietnam Viet QR details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Viet QR
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - GCASH
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Philippines GCash details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: GCash
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationTaxId:
                                type: string
                                description: Tax ID
                              type:
                                type: string
                                enum:
                                  - MOBILE_PAYMENT_IN
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - destinationTaxId
                              - type
                            description: >-
                              India mobile payment details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Mobile Payment IN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankCode:
                                type: string
                                description: Bank code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_VN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankCode
                              - type
                            description: >-
                              Vietnam bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit VN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              bic:
                                type: string
                                description: >-
                                  SWIFT BIC code (required for HKD payouts via
                                  the HK bank corridor)
                              destinationBankName:
                                type: string
                                description: Bank name
                              destinationAddress:
                                type: string
                                description: Address line 1 of the recipient
                              destinationCity:
                                type: string
                                description: Recipient city (defaults to Hong Kong)
                              accountHolderName:
                                type: string
                                description: >-
                                  Bank account holder name if different from
                                  payee
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_HK
                            required:
                              - destinationName
                              - destinationBankAccount
                              - bic
                              - destinationBankName
                              - destinationAddress
                              - type
                            description: Hong Kong bank deposit details (HKD bank corridor)
                            title: Bank Deposit HK
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankCode:
                                type: string
                                pattern: ^\d+$
                                description: >-
                                  CNAPS / bank institution code (numeric,
                                  variable length)
                              destinationBankName:
                                type: string
                                description: Bank name
                              destinationAddress:
                                type: string
                                description: Address line 1 of the recipient
                              destinationCity:
                                type: string
                                description: Recipient city
                              destinationState:
                                type: string
                                minLength: 1
                                description: >-
                                  Province / state of the recipient (required
                                  for CN — the beneficiary is rejected in
                                  compliance review without it)
                              destinationPostcode:
                                type: string
                                minLength: 1
                                description: >-
                                  Postal code of the recipient (required for CN
                                  — the beneficiary is rejected in compliance
                                  review without it)
                              destinationPhone:
                                type: string
                                description: >-
                                  Phone number of the recipient, without country
                                  prefix (optional; defaulted for CN when
                                  omitted)
                              destinationTaxId:
                                type: string
                                description: >-
                                  Unified Social Credit Code (USCC, GB
                                  32100-2015) of the recipient company — 18
                                  characters including the check digit;
                                  whitespace is removed and letters are
                                  normalized to uppercase (optional)
                              accountHolderName:
                                type: string
                                description: >-
                                  Bank account holder name if different from
                                  payee
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankCode
                              - destinationBankName
                              - destinationAddress
                              - destinationCity
                              - destinationState
                              - destinationPostcode
                              - type
                            description: >-
                              China mainland bank deposit details (CNY bank
                              corridor)
                            title: Bank Deposit CN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/ARS/networks (the network
                                  selector, optional)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_AR
                              destinationCBU:
                                type: string
                                description: >-
                                  CBU — 22-digit bank account key (legacy,
                                  optional)
                              destinationCVU:
                                type: string
                                description: >-
                                  CVU — 22-digit virtual account key (legacy,
                                  optional)
                              destinationAlias:
                                type: string
                                description: Account alias (legacy, optional)
                              destinationTaxId:
                                type: string
                                description: >-
                                  CUIT/CUIL tax ID of the recipient (required
                                  when creating ARS bank destinations): exactly
                                  11 digits with no hyphens, spaces or other
                                  characters, and a valid check digit (e.g.
                                  20000000001)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Argentinian bank deposit details
                            title: Bank Deposit AR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                minLength: 1
                                description: >-
                                  Recipient bank name (required for Chilean bank
                                  payouts)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CL
                              destinationBankAccountType:
                                type: string
                                minLength: 1
                                description: >-
                                  Account type — corriente or ahorro (required
                                  for Chilean bank payouts)
                              destinationTaxId:
                                type: string
                                minLength: 1
                                description: >-
                                  RUT tax ID of the recipient (required for
                                  Chilean bank payouts)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankName
                              - type
                              - destinationBankAccountType
                              - destinationTaxId
                            description: Chilean bank deposit details
                            title: Bank Deposit CL
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                minLength: 2
                                maxLength: 30
                                description: Recipient name (required, 2–30 characters)
                              destinationBankAccount:
                                type: string
                                minLength: 1
                                maxLength: 11
                                description: >-
                                  Bank account number (max 11 digits for
                                  Bolivian accounts)
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (unused for BOB — no network
                                  discovery)
                              destinationBankName:
                                type: string
                                maxLength: 20
                                description: Bank name (optional, max 20 characters)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BO
                              destinationTaxId:
                                type: string
                                minLength: 1
                                maxLength: 15
                                description: >-
                                  NIT tax ID of the recipient (required for
                                  Bolivian payouts)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                              - destinationTaxId
                            description: Bolivian bank deposit details
                            title: Bank Deposit BO
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/PEN/networks (the network
                                  selector)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_PE
                              destinationCCI:
                                type: string
                                description: >-
                                  CCI — 20-digit interbank account code (legacy,
                                  optional)
                              destinationBankAccountType:
                                type: string
                                description: >-
                                  Account type (corriente/ahorro) (legacy,
                                  optional)
                              destinationTaxId:
                                type: string
                                description: >-
                                  DNI/RUC document ID of the recipient (legacy,
                                  optional)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationNetworkId
                              - type
                            description: >-
                              Peruvian bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit PE
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                pattern: ^\d{3}$
                                description: >-
                                  Recipient bank code (the 3-digit code the rail
                                  expects, not the name)
                              destinationBankAccountNumber:
                                type: string
                                minLength: 1
                                maxLength: 20
                                description: Recipient bank account number (max 20)
                              destinationBankAccountType:
                                type: string
                                enum:
                                  - CORRIENTE
                                  - AHORROS
                                  - PHONE
                                description: Bank account type
                              destinationCCI:
                                type: string
                                pattern: ^\d{1,20}$
                                description: >-
                                  CCI — Peruvian interbank code (required,
                                  digits only, max 20)
                              destinationDocumentType:
                                type: string
                                enum:
                                  - CC
                                  - CE
                                  - RUC
                                  - PAS
                                  - PAR
                                  - LMI
                                  - OTHER
                                description: Recipient identification type
                              destinationTaxId:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: Recipient identification number (max 50)
                              email:
                                type: string
                                pattern: ^.+@.+\..+$
                                description: Recipient email (required for PEN payouts)
                              destinationPhoneNumber:
                                type: string
                                pattern: ^\d{1,9}$
                                description: >-
                                  Recipient phone number (required, max 9
                                  digits)
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_PEN
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccountNumber
                              - destinationBankAccountType
                              - destinationCCI
                              - destinationDocumentType
                              - destinationTaxId
                              - email
                              - destinationPhoneNumber
                              - type
                            description: >-
                              Peruvian bank deposit details (bank-code payout
                              corridor).
                            title: Bank Deposit PEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_NG
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Nigeria bank deposit details
                            title: Bank Deposit NG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_KE
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Kenya bank deposit details
                            title: Bank Deposit KE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_GH
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Ghana bank deposit details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Bank Deposit GH
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZA
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: South Africa bank deposit details
                            title: Bank Deposit ZA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TZ
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Tanzania bank deposit details
                            title: Bank Deposit TZ
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_UG
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Uganda bank deposit details
                            title: Bank Deposit UG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_RW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Rwanda bank deposit details
                            title: Bank Deposit RW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Malawi bank deposit details
                            title: Bank Deposit MW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZM
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Zambia bank deposit details
                            title: Bank Deposit ZM
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Botswana bank deposit details
                            title: Bank Deposit BW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CD
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              DR Congo bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit CD
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XOF
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: West African CFA bank deposit details
                            title: Bank Deposit XOF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XAF
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Central African CFA bank deposit details
                            title: Bank Deposit XAF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_NG
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Nigeria mobile money details
                            title: Mobile Money NG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_KE
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Kenya mobile money details
                            title: Mobile Money KE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_GH
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: >-
                              Ghana mobile money details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Mobile Money GH
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZA
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: South Africa mobile money details
                            title: Mobile Money ZA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_TZ
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Tanzania mobile money details
                            title: Mobile Money TZ
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_UG
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Uganda mobile money details
                            title: Mobile Money UG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_RW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Rwanda mobile money details
                            title: Mobile Money RW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_MW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Malawi mobile money details
                            title: Mobile Money MW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZM
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Zambia mobile money details
                            title: Mobile Money ZM
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_BW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Botswana mobile money details
                            title: Mobile Money BW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_CD
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: >-
                              DR Congo mobile money details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Mobile Money CD
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XOF
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: West African CFA mobile money details
                            title: Mobile Money XOF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XAF
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Central African CFA mobile money details
                            title: Mobile Money XAF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationBankAccountNumber:
                                type: string
                                description: Bank account number (18-digit CLABE)
                              numericReference:
                                type: string
                                description: Numeric reference
                              notesReference:
                                type: string
                                description: Notes reference
                              destinationClabe:
                                type: string
                                description: >-
                                  CLABE — legacy alias, prefer
                                  destinationBankAccountNumber
                              destinationTaxId:
                                type: string
                                description: >-
                                  Recipient tax id (RFC) — required by some MX
                                  bank-deposit rails ("Número de
                                  Identificación"); optional otherwise
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MX
                            required:
                              - destinationName
                              - destinationBankAccountNumber
                              - type
                            description: Mexican bank deposit details
                            title: Bank Deposit MX
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPseNumber:
                                type: string
                                description: PSE number
                              type:
                                type: string
                                enum:
                                  - PSE
                            required:
                              - destinationName
                              - destinationPseNumber
                              - type
                            description: >-
                              PSE transfer details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: PSE
                            deprecated: true
                        description: >-
                          The details required for the end user destination
                          transfer method.
                      status:
                        anyOf:
                          - type: string
                            enum:
                              - Pending
                              - Processing
                              - Success
                              - Failed
                              - Canceled
                              - Reviewing
                            description: >-
                              Common status values that are shared across all
                              operation types
                            examples:
                              - Pending
                              - Processing
                              - Success
                              - Failed
                              - Canceled
                              - Reviewing
                          - type: string
                            enum:
                              - PendingCancel
                              - PendingWithdrawal
                              - PendingVerification
                              - Pending2FA
                              - Compliance
                              - Accepted
                              - Approved
                              - Rejected
                              - Review
                        description: Status of the withdrawal
                        examples:
                          - Pending
                          - Pending2FA
                          - Compliance
                          - Accepted
                          - Approved
                          - Success
                          - Failed
                          - Review
                          - Rejected
                      withdrawalInfo:
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BALANCE
                            required:
                              - type
                            description: Balance transfer details
                            title: Balance
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              iban:
                                type: string
                                description: IBAN number
                              bic:
                                type: string
                                description: BIC number (optional)
                              country:
                                type: string
                                description: Country code
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for SEPA
                                  payouts — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  SEPA payouts — provide it here or in
                                  destinationUserData.postalCode.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as the payout beneficiary
                                  `address.line1` when registering the
                                  beneficiary. Stored on the saved transaction
                                  method so the user does not have to re-supply
                                  it on every withdraw.
                              type:
                                type: string
                                enum:
                                  - SEPA
                            required:
                              - destinationName
                              - iban
                              - country
                              - type
                            description: SEPA transfer details
                            title: SEPA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              accountNumber:
                                type: string
                                description: UK bank account number
                              sortCode:
                                type: string
                                description: UK sort code
                              country:
                                type: string
                                enum:
                                  - GB
                                default: GB
                                description: >-
                                  ISO 3166 country code of the recipient (GBP
                                  transfer is UK-based)
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for this rail
                                  — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  this rail — provide it here or in
                                  destinationUserData.postalCode.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as payee address when creating the
                                  payee.
                              type:
                                type: string
                                enum:
                                  - GBP_BANK_TRANSFER
                            required:
                              - destinationName
                              - accountNumber
                              - sortCode
                              - type
                            description: GBP domestic bank transfer details
                            title: BankDepositGB
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              accountNumber:
                                type: string
                                description: US bank account number
                              routingNumber:
                                type: string
                                description: US ABA routing number
                              country:
                                type: string
                                enum:
                                  - US
                                default: US
                                description: >-
                                  ISO 3166 country code of the recipient (ACH is
                                  US-domestic)
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              bankAccountType:
                                type: string
                                enum:
                                  - CHECKING
                                  - SAVINGS
                                default: CHECKING
                                description: >-
                                  Kind of bank account the payout lands in.
                                  Defaults to CHECKING when omitted.
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for this rail
                                  — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  this rail — provide it here or in
                                  destinationUserData.postalCode.
                              state:
                                type: string
                                pattern: ^[A-Z]{2}$
                                description: >-
                                  Two-letter US state code of the recipient
                                  (e.g. NY). REQUIRED for this rail.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as payee address when creating the
                                  payee.
                              type:
                                type: string
                                enum:
                                  - ACH_US
                            required:
                              - destinationName
                              - accountNumber
                              - routingNumber
                              - state
                              - type
                            description: USD ACH transfer details
                            title: AchUS
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - linkedBankAccount
                              accountLinkId:
                                type: string
                                pattern: ^alnk_[0-9a-f]{24}$
                                description: >-
                                  Identifier of one of the account holder own
                                  linked bank accounts
                                examples:
                                  - alnk_0123456789abcdef01234567
                            required:
                              - type
                              - accountLinkId
                            description: >-
                              A bank account the account holder linked
                              beforehand. Pays out only to the holder of the
                              order; never to a third party. Not available yet.
                            title: LinkedBankAccount
                            deprecated: true
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - ETH
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: ETH destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: ETH
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - MATIC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: MATIC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: MATIC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - SOL
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: SOL destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: SOL
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - TRON
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: TRON destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: TRON
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - CELO
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: CELO destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: CELO
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BTC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BTC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: BTC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - SOLANA
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: SOLANA destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: SOLANA
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - XRP
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: XRP destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: XRP
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - CARDANO
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: CARDANO destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: CARDANO
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BSC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BSC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: BSC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - ARBITRUM
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: ARBITRUM destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: ARBITRUM
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - OPTIMISM
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: OPTIMISM destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: OPTIMISM
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - AVALANCHE
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: AVALANCHE destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: AVALANCHE
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BASE
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BASE destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: BASE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/COP/networks. Not read by the
                                  payout; retained for the network selector and
                                  for stored records.
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_COL
                              destinationBankCode:
                                type: string
                                description: >-
                                  Recipient bank code — one of the 4-digit codes
                                  published by GET
                                  /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                  (the code, not the name). Required when
                                  creating or updating a destination.
                              destinationBankAccountType:
                                type: string
                                description: >-
                                  Bank account type — CORRIENTE or AHORRO.
                                  Required when creating or updating a
                                  destination.
                              destinationTaxId:
                                type: string
                                description: >-
                                  Recipient ID document number. Required when
                                  creating or updating a destination.
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Recipient ID document type — CC, CE, NIT, TI
                                  or PP. Required when creating or updating a
                                  destination.
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Colombian bank deposit details. Equivalent to
                              ACH_COP — same payout rail, same required fields,
                              same bank roster; ACH_COP is recommended for new
                              integrations. Note that BANK_DEPOSIT_COL is also
                              the name of a COP collection rail.
                            title: Bank Deposit COL
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              brebKey:
                                type: string
                                minLength: 1
                                description: >-
                                  Bre-B key (llave) that identifies the
                                  recipient account
                              email:
                                type: string
                                description: >-
                                  Recipient email (optional contact for the
                                  Bre-B rail)
                              destinationPhoneNumber:
                                type: string
                                description: >-
                                  Recipient phone number (optional contact for
                                  the Bre-B rail)
                              type:
                                type: string
                                enum:
                                  - BRE_B_COP
                            required:
                              - destinationName
                              - brebKey
                              - type
                            description: Colombian Bre-B payout details
                            title: Bre-B COP
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                pattern: ^\d{4}$
                                description: >-
                                  Recipient bank code — one of the 4-digit codes
                                  published by GET
                                  /v1/currencies/COP/destination-schema?method=achCOP
                                  (the code, not the name)
                              destinationBankAccountNumber:
                                type: string
                                minLength: 1
                                description: Recipient bank account number
                              destinationBankAccountType:
                                type: string
                                minLength: 1
                                description: Bank account type (e.g. AHORROS / CORRIENTE)
                              destinationDocumentType:
                                type: string
                                minLength: 1
                                description: >-
                                  Recipient ID document type (e.g. CC / CE /
                                  NIT)
                              destinationTaxId:
                                type: string
                                minLength: 1
                                description: Recipient ID document number
                              type:
                                type: string
                                enum:
                                  - ACH_COP
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccountNumber
                              - destinationBankAccountType
                              - destinationDocumentType
                              - destinationTaxId
                              - type
                            description: Colombian ACH payout details
                            title: ACH COP
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (unused for TWD — no network
                                  discovery)
                              destinationBankName:
                                type: string
                                minLength: 2
                                description: >-
                                  Bank name (required — TWD payouts run over
                                  SWIFT)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TW
                              destinationBankBranch:
                                type: string
                                minLength: 2
                                description: >-
                                  Bank branch (required — TWD payouts run over
                                  SWIFT)
                              bic:
                                type: string
                                pattern: >-
                                  ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                                description: SWIFT BIC code (required for TWD payouts)
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account (legacy, optional)
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient (legacy, optional)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankName
                              - type
                              - destinationBankBranch
                              - bic
                            description: Taiwan bank deposit details (SWIFT payout)
                            title: Bank Deposit TW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankBranch:
                                type: string
                                description: Bank branch
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BR
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccount
                              - destinationBankBranch
                              - destinationTaxId
                              - type
                            description: Brazilian bank deposit details
                            title: Bank Deposit BR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPixCode:
                                type: string
                                description: PIX code
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient
                              type:
                                type: string
                                enum:
                                  - PIX_BR
                            required:
                              - destinationName
                              - destinationPixCode
                              - destinationTaxId
                              - type
                            description: Brazilian PIX details
                            title: PIX BR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccountNumber:
                                type: string
                                description: Bank account number
                              destinationBankName:
                                type: string
                                description: Name of the bank
                              destinationTaxId:
                                type: string
                                pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                description: Tax ID of the recipient
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_VEN
                            required:
                              - destinationName
                              - destinationBankAccountNumber
                              - destinationBankName
                              - destinationTaxId
                              - destinationBankAccountType
                              - type
                            description: Venezuelan bank deposit details
                            title: Bank Deposit VEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationTaxId:
                                type: string
                                pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                description: Tax ID of the recipient
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account
                              type:
                                type: string
                                enum:
                                  - PHONE_DEPOSIT_VEN
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationPhoneNumber
                              - destinationTaxId
                              - destinationBankAccountType
                              - type
                            description: Venezuelan phone deposit details
                            title: Phone Deposit VEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_IN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              India bank deposit details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Bank Deposit IN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - IMPS
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              India IMPS details. Deprecated — no active payout
                              corridor for this method; orders using it are
                              rejected. Retained for backward compatibility with
                              stored destinations.
                            title: IMPS
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - THAI_QR
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Thailand Thai QR details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Thai QR
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - VIET_QR
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Vietnam Viet QR details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Viet QR
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - GCASH
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Philippines GCash details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: GCash
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationTaxId:
                                type: string
                                description: Tax ID
                              type:
                                type: string
                                enum:
                                  - MOBILE_PAYMENT_IN
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - destinationTaxId
                              - type
                            description: >-
                              India mobile payment details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Mobile Payment IN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankCode:
                                type: string
                                description: Bank code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_VN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankCode
                              - type
                            description: >-
                              Vietnam bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit VN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              bic:
                                type: string
                                description: >-
                                  SWIFT BIC code (required for HKD payouts via
                                  the HK bank corridor)
                              destinationBankName:
                                type: string
                                description: Bank name
                              destinationAddress:
                                type: string
                                description: Address line 1 of the recipient
                              destinationCity:
                                type: string
                                description: Recipient city (defaults to Hong Kong)
                              accountHolderName:
                                type: string
                                description: >-
                                  Bank account holder name if different from
                                  payee
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_HK
                            required:
                              - destinationName
                              - destinationBankAccount
                              - bic
                              - destinationBankName
                              - destinationAddress
                              - type
                            description: Hong Kong bank deposit details (HKD bank corridor)
                            title: Bank Deposit HK
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankCode:
                                type: string
                                pattern: ^\d+$
                                description: >-
                                  CNAPS / bank institution code (numeric,
                                  variable length)
                              destinationBankName:
                                type: string
                                description: Bank name
                              destinationAddress:
                                type: string
                                description: Address line 1 of the recipient
                              destinationCity:
                                type: string
                                description: Recipient city
                              destinationState:
                                type: string
                                minLength: 1
                                description: >-
                                  Province / state of the recipient (required
                                  for CN — the beneficiary is rejected in
                                  compliance review without it)
                              destinationPostcode:
                                type: string
                                minLength: 1
                                description: >-
                                  Postal code of the recipient (required for CN
                                  — the beneficiary is rejected in compliance
                                  review without it)
                              destinationPhone:
                                type: string
                                description: >-
                                  Phone number of the recipient, without country
                                  prefix (optional; defaulted for CN when
                                  omitted)
                              destinationTaxId:
                                type: string
                                description: >-
                                  Unified Social Credit Code (USCC, GB
                                  32100-2015) of the recipient company — 18
                                  characters including the check digit;
                                  whitespace is removed and letters are
                                  normalized to uppercase (optional)
                              accountHolderName:
                                type: string
                                description: >-
                                  Bank account holder name if different from
                                  payee
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankCode
                              - destinationBankName
                              - destinationAddress
                              - destinationCity
                              - destinationState
                              - destinationPostcode
                              - type
                            description: >-
                              China mainland bank deposit details (CNY bank
                              corridor)
                            title: Bank Deposit CN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/ARS/networks (the network
                                  selector, optional)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_AR
                              destinationCBU:
                                type: string
                                description: >-
                                  CBU — 22-digit bank account key (legacy,
                                  optional)
                              destinationCVU:
                                type: string
                                description: >-
                                  CVU — 22-digit virtual account key (legacy,
                                  optional)
                              destinationAlias:
                                type: string
                                description: Account alias (legacy, optional)
                              destinationTaxId:
                                type: string
                                description: >-
                                  CUIT/CUIL tax ID of the recipient (required
                                  when creating ARS bank destinations): exactly
                                  11 digits with no hyphens, spaces or other
                                  characters, and a valid check digit (e.g.
                                  20000000001)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Argentinian bank deposit details
                            title: Bank Deposit AR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                minLength: 1
                                description: >-
                                  Recipient bank name (required for Chilean bank
                                  payouts)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CL
                              destinationBankAccountType:
                                type: string
                                minLength: 1
                                description: >-
                                  Account type — corriente or ahorro (required
                                  for Chilean bank payouts)
                              destinationTaxId:
                                type: string
                                minLength: 1
                                description: >-
                                  RUT tax ID of the recipient (required for
                                  Chilean bank payouts)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankName
                              - type
                              - destinationBankAccountType
                              - destinationTaxId
                            description: Chilean bank deposit details
                            title: Bank Deposit CL
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                minLength: 2
                                maxLength: 30
                                description: Recipient name (required, 2–30 characters)
                              destinationBankAccount:
                                type: string
                                minLength: 1
                                maxLength: 11
                                description: >-
                                  Bank account number (max 11 digits for
                                  Bolivian accounts)
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (unused for BOB — no network
                                  discovery)
                              destinationBankName:
                                type: string
                                maxLength: 20
                                description: Bank name (optional, max 20 characters)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BO
                              destinationTaxId:
                                type: string
                                minLength: 1
                                maxLength: 15
                                description: >-
                                  NIT tax ID of the recipient (required for
                                  Bolivian payouts)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                              - destinationTaxId
                            description: Bolivian bank deposit details
                            title: Bank Deposit BO
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/PEN/networks (the network
                                  selector)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_PE
                              destinationCCI:
                                type: string
                                description: >-
                                  CCI — 20-digit interbank account code (legacy,
                                  optional)
                              destinationBankAccountType:
                                type: string
                                description: >-
                                  Account type (corriente/ahorro) (legacy,
                                  optional)
                              destinationTaxId:
                                type: string
                                description: >-
                                  DNI/RUC document ID of the recipient (legacy,
                                  optional)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationNetworkId
                              - type
                            description: >-
                              Peruvian bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit PE
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                pattern: ^\d{3}$
                                description: >-
                                  Recipient bank code (the 3-digit code the rail
                                  expects, not the name)
                              destinationBankAccountNumber:
                                type: string
                                minLength: 1
                                maxLength: 20
                                description: Recipient bank account number (max 20)
                              destinationBankAccountType:
                                type: string
                                enum:
                                  - CORRIENTE
                                  - AHORROS
                                  - PHONE
                                description: Bank account type
                              destinationCCI:
                                type: string
                                pattern: ^\d{1,20}$
                                description: >-
                                  CCI — Peruvian interbank code (required,
                                  digits only, max 20)
                              destinationDocumentType:
                                type: string
                                enum:
                                  - CC
                                  - CE
                                  - RUC
                                  - PAS
                                  - PAR
                                  - LMI
                                  - OTHER
                                description: Recipient identification type
                              destinationTaxId:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: Recipient identification number (max 50)
                              email:
                                type: string
                                pattern: ^.+@.+\..+$
                                description: Recipient email (required for PEN payouts)
                              destinationPhoneNumber:
                                type: string
                                pattern: ^\d{1,9}$
                                description: >-
                                  Recipient phone number (required, max 9
                                  digits)
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_PEN
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccountNumber
                              - destinationBankAccountType
                              - destinationCCI
                              - destinationDocumentType
                              - destinationTaxId
                              - email
                              - destinationPhoneNumber
                              - type
                            description: >-
                              Peruvian bank deposit details (bank-code payout
                              corridor).
                            title: Bank Deposit PEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_NG
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Nigeria bank deposit details
                            title: Bank Deposit NG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_KE
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Kenya bank deposit details
                            title: Bank Deposit KE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_GH
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Ghana bank deposit details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Bank Deposit GH
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZA
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: South Africa bank deposit details
                            title: Bank Deposit ZA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TZ
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Tanzania bank deposit details
                            title: Bank Deposit TZ
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_UG
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Uganda bank deposit details
                            title: Bank Deposit UG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_RW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Rwanda bank deposit details
                            title: Bank Deposit RW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Malawi bank deposit details
                            title: Bank Deposit MW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZM
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Zambia bank deposit details
                            title: Bank Deposit ZM
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Botswana bank deposit details
                            title: Bank Deposit BW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CD
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              DR Congo bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit CD
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XOF
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: West African CFA bank deposit details
                            title: Bank Deposit XOF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XAF
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Central African CFA bank deposit details
                            title: Bank Deposit XAF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_NG
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Nigeria mobile money details
                            title: Mobile Money NG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_KE
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Kenya mobile money details
                            title: Mobile Money KE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_GH
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: >-
                              Ghana mobile money details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Mobile Money GH
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZA
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: South Africa mobile money details
                            title: Mobile Money ZA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_TZ
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Tanzania mobile money details
                            title: Mobile Money TZ
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_UG
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Uganda mobile money details
                            title: Mobile Money UG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_RW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Rwanda mobile money details
                            title: Mobile Money RW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_MW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Malawi mobile money details
                            title: Mobile Money MW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZM
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Zambia mobile money details
                            title: Mobile Money ZM
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_BW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Botswana mobile money details
                            title: Mobile Money BW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_CD
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: >-
                              DR Congo mobile money details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Mobile Money CD
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XOF
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: West African CFA mobile money details
                            title: Mobile Money XOF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XAF
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Central African CFA mobile money details
                            title: Mobile Money XAF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationBankAccountNumber:
                                type: string
                                description: Bank account number (18-digit CLABE)
                              numericReference:
                                type: string
                                description: Numeric reference
                              notesReference:
                                type: string
                                description: Notes reference
                              destinationClabe:
                                type: string
                                description: >-
                                  CLABE — legacy alias, prefer
                                  destinationBankAccountNumber
                              destinationTaxId:
                                type: string
                                description: >-
                                  Recipient tax id (RFC) — required by some MX
                                  bank-deposit rails ("Número de
                                  Identificación"); optional otherwise
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MX
                            required:
                              - destinationName
                              - destinationBankAccountNumber
                              - type
                            description: Mexican bank deposit details
                            title: Bank Deposit MX
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPseNumber:
                                type: string
                                description: PSE number
                              type:
                                type: string
                                enum:
                                  - PSE
                            required:
                              - destinationName
                              - destinationPseNumber
                              - type
                            description: >-
                              PSE transfer details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: PSE
                            deprecated: true
                        description: Detailed withdrawal information
                        title: WithdrawalInfo
                      source:
                        type: string
                        enum:
                          - ui
                          - apiApp
                          - externalApi
                          - internal
                        description: Source of withdrawal creation
                        example: externalApi
                      requires2FA:
                        type: boolean
                        description: Whether 2FA is required for this withdrawal
                        example: false
                      twoFactorToken:
                        type: string
                        description: 2FA token for email approval
                        example: abc123
                      twoFactorApprovedAt:
                        type: number
                        description: Timestamp when 2FA was approved
                        example: 1723027132
                      errorCode:
                        type: string
                        description: Error code when status is Review
                        example: INSUFFICIENT_BALANCE
                      errorDetails:
                        type: string
                        description: Detailed error information
                        example: Insufficient balance for withdrawal
                      reviewedBy:
                        type: string
                        description: Admin email who reviewed the withdrawal
                        example: admin@example.com
                      reviewedAt:
                        type: number
                        description: Timestamp when review happened
                        example: 1723027132
                    required:
                      - withdrawalId
                      - createdAt
                      - amount
                      - currency
                      - fee
                      - feeCurrency
                      - status
                    description: Details of the withdrawal associated with the order
                  createdAt:
                    type: number
                    description: Creation time of the order (timestamp)
                    examples:
                      - 1723027132
                      - 1723027200
                      - 1723027300
                  updatedAt:
                    type: number
                    description: Last update time of the order (timestamp)
                    examples:
                      - 1723027132
                      - 1723027200
                      - 1723027300
                  status:
                    anyOf:
                      - type: string
                        enum:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                        description: >-
                          Common status values that are shared across all
                          operation types
                        examples:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                      - type: string
                        enum:
                          - Received
                          - Exchanging
                          - Exchanged
                          - WithdrawProcessing
                          - Withdrawn
                          - OffRampProcessing
                          - OffRamped
                          - Deleted
                          - PendingCancel
                          - Closed
                          - WaitingForFundsToExchange
                          - WaitingForFundsToSend
                          - WaitingForFundsToOffRamp
                          - OffRampDocPending
                          - OnRampDocPending
                          - WaitingForConfirmations
                          - PriceChanged
                          - Refunded
                          - PreparedToOffRamp
                          - WithdrawOfframpProcessing
                          - WaitingForFundsToSendOfframp
                          - WaitingForPayoutSettlement
                          - WithdrawPending
                          - WithdrawPendingOfframp
                    description: >-
                      Status of the order. A newly created order is typically
                      `Pending`; a balance-funded order may start further along.
                    examples:
                      - Pending
                  externalReference:
                    type: string
                    description: >-
                      External reference of the order, as you supplied it on
                      create.
                  externalRefeference:
                    type: string
                    description: >-
                      Deprecated misspelling of `externalReference` — same
                      value. Read `externalReference` instead; this key remains
                      for backward compatibility and will be removed in a future
                      major version.
                    deprecated: true
                  fee:
                    type: number
                    minimum: 0
                    description: >-
                      Total fee for the order once all the execution is
                      completed
                    examples:
                      - 6.37
                      - 8.5
                      - 10.25
                  expectedFee:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: Expected fee given the initial deposit amount
                    examples:
                      - 6.88
                      - 9.2
                      - 11.5
                  expectedGasFee:
                    type: number
                    description: Expected gas fee if the withdrawal is with crypto
                    examples:
                      - 6.88
                      - 8.5
                      - 10.25
                  feeCurrency:
                    type: string
                    description: Currency of the fee
                    examples:
                      - EUR
                      - USD
                      - GBP
                required:
                  - orderId
                  - createdAt
                  - status
                  - fee
                  - expectedFee
                  - feeCurrency
                description: Response schema for creating an order
        '400':
          description: >-
            Bad request — a required field is missing or invalid (e.g.
            destination address, unsupported balance currency, or a quote from
            another environment), or a malformed `Idempotency-Key` (invalid
            characters, over 128 characters, or the header sent more than once).
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '403':
          description: The on-behalf-of accountId does not belong to this workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            `Idempotency-Key` conflict: the key was already used with a
            different payload or by a different endpoint, or an identical
            request is still in progress — see the Idempotent writes section of
            the guide
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: |-
            const res = await fetch("https://api.virtuabroker.com/v1/orders", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "quoteId": "123e4567-e89b-12d3-a456-426614174000",
                  "accountId": "jane.doe@example.com",
                  "destination": {
                    "contactId": "string",
                    "contactEmail": "string",
                    "addressId": "string"
                  },
                  "originCountry": "CI",
                  "userData": {
                    "userType": "individual",
                    "firstName": "John",
                    "lastName": "Doe",
                    "userEmail": "user@virtuabroker.com",
                    "address": "123 Main St, Anytown, ES",
                    "taxDocumentType": "CC",
                    "taxId": "123-45-6789",
                    "country": "ES",
                    "state": "Madrid",
                    "postalCode": "12345",
                    "city": "Madrid",
                    "dob": "1990-01-01",
                    "phoneNumber": "+447700900123",
                    "kycId": "kyc-12345",
                    "activity": "worker"
                  },
                  "destinationUserData": {
                    "userType": "individual",
                    "firstName": "John",
                    "lastName": "Doe",
                    "userEmail": "user@virtuabroker.com",
                    "address": "123 Main St, Anytown, ES",
                    "taxDocumentType": "CC",
                    "taxId": "123-45-6789",
                    "country": "ES",
                    "state": "Madrid",
                    "postalCode": "12345",
                    "city": "Madrid",
                    "dob": "1990-01-01",
                    "phoneNumber": "+447700900123",
                    "kycId": "kyc-12345",
                    "activity": "worker"
                  },
                  "destinationTransferData": {
                    "type": "BALANCE"
                  },
                  "externalReference": "order-2026-000123",
                  "integrationSessionId": "int_a1B2c3D4e5F6g7H8",
                  "tradeDetails": {
                    "businessType": "GOODS_TRADE",
                    "contractNo": "string",
                    "website": "string",
                    "products": [
                      {
                        "name": "string",
                        "quantity": 0,
                        "unit": "string",
                        "category": "string"
                      }
                    ]
                  }
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/orders",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "quoteId": "123e4567-e89b-12d3-a456-426614174000",
                    "accountId": "jane.doe@example.com",
                    "destination": {
                        "contactId": "string",
                        "contactEmail": "string",
                        "addressId": "string"
                    },
                    "originCountry": "CI",
                    "userData": {
                        "userType": "individual",
                        "firstName": "John",
                        "lastName": "Doe",
                        "userEmail": "user@virtuabroker.com",
                        "address": "123 Main St, Anytown, ES",
                        "taxDocumentType": "CC",
                        "taxId": "123-45-6789",
                        "country": "ES",
                        "state": "Madrid",
                        "postalCode": "12345",
                        "city": "Madrid",
                        "dob": "1990-01-01",
                        "phoneNumber": "+447700900123",
                        "kycId": "kyc-12345",
                        "activity": "worker"
                    },
                    "destinationUserData": {
                        "userType": "individual",
                        "firstName": "John",
                        "lastName": "Doe",
                        "userEmail": "user@virtuabroker.com",
                        "address": "123 Main St, Anytown, ES",
                        "taxDocumentType": "CC",
                        "taxId": "123-45-6789",
                        "country": "ES",
                        "state": "Madrid",
                        "postalCode": "12345",
                        "city": "Madrid",
                        "dob": "1990-01-01",
                        "phoneNumber": "+447700900123",
                        "kycId": "kyc-12345",
                        "activity": "worker"
                    },
                    "destinationTransferData": {
                        "type": "BALANCE"
                    },
                    "externalReference": "order-2026-000123",
                    "integrationSessionId": "int_a1B2c3D4e5F6g7H8",
                    "tradeDetails": {
                        "businessType": "GOODS_TRADE",
                        "contractNo": "string",
                        "website": "string",
                        "products": [
                            {
                                "name": "string",
                                "quantity": 0,
                                "unit": "string",
                                "category": "string"
                            }
                        ]
                    }
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/orders" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "quoteId": "123e4567-e89b-12d3-a456-426614174000",
              "accountId": "jane.doe@example.com",
              "destination": {
                "contactId": "string",
                "contactEmail": "string",
                "addressId": "string"
              },
              "originCountry": "CI",
              "userData": {
                "userType": "individual",
                "firstName": "John",
                "lastName": "Doe",
                "userEmail": "user@virtuabroker.com",
                "address": "123 Main St, Anytown, ES",
                "taxDocumentType": "CC",
                "taxId": "123-45-6789",
                "country": "ES",
                "state": "Madrid",
                "postalCode": "12345",
                "city": "Madrid",
                "dob": "1990-01-01",
                "phoneNumber": "+447700900123",
                "kycId": "kyc-12345",
                "activity": "worker"
              },
              "destinationUserData": {
                "userType": "individual",
                "firstName": "John",
                "lastName": "Doe",
                "userEmail": "user@virtuabroker.com",
                "address": "123 Main St, Anytown, ES",
                "taxDocumentType": "CC",
                "taxId": "123-45-6789",
                "country": "ES",
                "state": "Madrid",
                "postalCode": "12345",
                "city": "Madrid",
                "dob": "1990-01-01",
                "phoneNumber": "+447700900123",
                "kycId": "kyc-12345",
                "activity": "worker"
              },
              "destinationTransferData": {
                "type": "BALANCE"
              },
              "externalReference": "order-2026-000123",
              "integrationSessionId": "int_a1B2c3D4e5F6g7H8",
              "tradeDetails": {
                "businessType": "GOODS_TRADE",
                "contractNo": "string",
                "website": "string",
                "products": [
                  {
                    "name": "string",
                    "quantity": 0,
                    "unit": "string",
                    "category": "string"
                  }
                ]
              }
            }'
    get:
      summary: List orders
      description: This endpoint retrieves a list of orders based on various filters.
      tags:
        - Orders
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Optional currency code to filter the items
            example: EUR
          required: false
          description: Optional currency code to filter the items
          name: currency
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: minAmount
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: maxAmount
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: from
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: to
          in: query
        - schema:
            type: string
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: >-
              Email of the user making the request. For a business payer this
              matches operations under any of its identities — the
              representative email and the organisation account — so listings
              stay complete across both.
            example: user@example.com
          required: false
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          name: userEmail
          in: query
        - schema:
            type: string
            description: >-
              General search (e.g. email or text). When provided, backend may
              use it for userEmail or text search.
          required: false
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
          name: search
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: limit
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: page
          in: query
        - schema:
            anyOf:
              - type: string
                enum:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
                description: >-
                  Common status values that are shared across all operation
                  types
                examples:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
              - type: string
                enum:
                  - Received
                  - Exchanging
                  - Exchanged
                  - WithdrawProcessing
                  - Withdrawn
                  - OffRampProcessing
                  - OffRamped
                  - Deleted
                  - PendingCancel
                  - Closed
                  - WaitingForFundsToExchange
                  - WaitingForFundsToSend
                  - WaitingForFundsToOffRamp
                  - OffRampDocPending
                  - OnRampDocPending
                  - WaitingForConfirmations
                  - PriceChanged
                  - Refunded
                  - PreparedToOffRamp
                  - WithdrawOfframpProcessing
                  - WaitingForFundsToSendOfframp
                  - WaitingForPayoutSettlement
                  - WithdrawPending
                  - WithdrawPendingOfframp
              - type: array
                items:
                  anyOf:
                    - type: string
                      enum:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                      description: >-
                        Common status values that are shared across all
                        operation types
                      examples:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                    - type: string
                      enum:
                        - Received
                        - Exchanging
                        - Exchanged
                        - WithdrawProcessing
                        - Withdrawn
                        - OffRampProcessing
                        - OffRamped
                        - Deleted
                        - PendingCancel
                        - Closed
                        - WaitingForFundsToExchange
                        - WaitingForFundsToSend
                        - WaitingForFundsToOffRamp
                        - OffRampDocPending
                        - OnRampDocPending
                        - WaitingForConfirmations
                        - PriceChanged
                        - Refunded
                        - PreparedToOffRamp
                        - WithdrawOfframpProcessing
                        - WaitingForFundsToSendOfframp
                        - WaitingForPayoutSettlement
                        - WithdrawPending
                        - WithdrawPendingOfframp
                  description: Status vocabulary accepted by the order-list status filter
                  examples:
                    - Pending
                    - Success
                    - Failed
                    - Received
                    - Exchanging
                    - Withdrawn
            description: >-
              Optional status filter — a single status or an array of statuses.
              Use the statuses the API returns (Pending, Processing, Reviewing,
              Success, Failed, Canceled); the granular internal states are still
              accepted for backward compatibility.
            examples:
              - Pending
              - - Pending
                - Success
              - - Pending
                - Processing
                - Success
              - - Success
                - Failed
                - Canceled
          required: false
          description: >-
            Optional status filter — a single status or an array of statuses.
            Use the statuses the API returns (Pending, Processing, Reviewing,
            Success, Failed, Canceled); the granular internal states are still
            accepted for backward compatibility.
          name: status
          in: query
      responses:
        '200':
          description: Successful retrieval of orders list
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    orderId:
                      type: string
                      description: ID of the order
                      examples:
                        - 01CLFXMT67II
                        - 2R7E5Y5KFXP8
                        - 4FWWRE3Y2URM
                    deposit:
                      type: object
                      properties:
                        depositId:
                          type: string
                          minLength: 1
                          description: >-
                            ID of the deposit. Normally a 12-character internal
                            id; deposits created before mid-2026 may carry a
                            longer legacy id. Treat it as an opaque string.
                        externalReference:
                          type: string
                          minLength: 1
                          maxLength: 128
                          description: >-
                            Your own reference for this deposit. Stored as-is
                            and returned on create, detail and list, so you can
                            look the deposit up by it after a network timeout
                            instead of retrying blind. Not interpreted by
                            VirtuaBroker and not shown to the payer — for the
                            payer's transfer reference use
                            depositInfo.referenceCode.
                          examples:
                            - partner-ref-0001
                            - inv_2026_00417
                        userData:
                          oneOf:
                            - type: object
                              properties:
                                userType:
                                  type: string
                                  enum:
                                    - individual
                                firstName:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                  description: >-
                                    First name of the user making the deposit
                                    (or representative for business)
                                  examples:
                                    - John
                                    - Alice
                                    - Bob
                                lastName:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: >-
                                    Last name of the user making the deposit (or
                                    representative for business)
                                  examples:
                                    - Doe
                                    - Smith
                                    - Johnson
                                userEmail:
                                  type: string
                                  maxLength: 254
                                  format: email
                                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                  description: Email of the user making the deposit
                                  examples:
                                    - user@virtuabroker.com
                                    - john.doe@example.com
                                    - alice@example.com
                                address:
                                  type: string
                                  maxLength: 150
                                  description: Address of the user making the deposit
                                  examples:
                                    - 123 Main St, Anytown, ES
                                    - 456 Elm St, Anytown, ES
                                    - 789 Oak St, Anytown, ES
                                taxDocumentType:
                                  type: string
                                  maxLength: 50
                                  description: >-
                                    Tax document type of the user making the
                                    deposit. Common values: DNI, NIE, PASSPORT,
                                    CC, NIT, CE, NIF, but any string is
                                    accepted.
                                  examples:
                                    - CC
                                    - NIT
                                    - CE
                                    - NIF
                                    - Other
                                taxId:
                                  type: string
                                  maxLength: 30
                                  description: Tax ID of the user making the deposit
                                  examples:
                                    - 123-45-6789
                                    - 987-65-4321
                                    - 111-22-3333
                                country:
                                  type: string
                                  enum:
                                    - US
                                    - CA
                                    - GB
                                    - DE
                                    - FR
                                    - AU
                                    - JP
                                    - KR
                                    - SE
                                    - 'NO'
                                    - DK
                                    - FI
                                    - NL
                                    - BE
                                    - CH
                                    - AT
                                    - NZ
                                    - SG
                                    - IE
                                    - LU
                                    - PT
                                    - ES
                                    - IT
                                    - GR
                                    - CZ
                                    - PL
                                    - HU
                                    - SK
                                    - SI
                                    - EE
                                    - LT
                                    - LV
                                    - IS
                                    - MT
                                    - CY
                                    - HR
                                    - RO
                                    - BG
                                    - BR
                                    - AR
                                    - CL
                                    - MX
                                    - CO
                                    - PE
                                    - PA
                                    - UY
                                    - BO
                                    - ZA
                                    - NG
                                    - KE
                                    - GH
                                    - TZ
                                    - UG
                                    - RW
                                    - MW
                                    - ZM
                                    - BW
                                    - CD
                                    - CI
                                    - CM
                                    - IL
                                    - AE
                                    - QA
                                    - SA
                                    - OM
                                    - KW
                                    - BH
                                    - MY
                                    - PH
                                    - TH
                                    - VN
                                    - ID
                                    - IN
                                    - LK
                                    - NP
                                    - BD
                                    - PK
                                    - EG
                                    - MA
                                    - DZ
                                    - TN
                                    - JO
                                    - LB
                                    - TR
                                    - KH
                                    - MM
                                    - LA
                                    - EN
                                    - BT
                                    - VE
                                    - TW
                                    - HK
                                    - CN
                                  description: Country code of the user making the deposit
                                  examples:
                                    - ES
                                    - US
                                    - GB
                                state:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: State of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                postalCode:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Postal code of the user making the deposit
                                  examples:
                                    - '12345'
                                    - '67890'
                                    - abcde
                                city:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: City of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                dob:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Date of birth of the user making the deposit
                                  examples:
                                    - '1990-01-01'
                                    - '1995-05-15'
                                    - '1988-12-31'
                                phoneNumber:
                                  type: string
                                  maxLength: 30
                                  description: Phone number of the user making the deposit
                                  examples:
                                    - '+447700900123'
                                    - '+447700900456'
                                    - '+447700900789'
                                kycId:
                                  type: string
                                  minLength: 1
                                  maxLength: 300
                                  description: >-
                                    KYC ID of the user making the deposit on
                                    your platform (if the KYC is done by you,
                                    add the url)
                                  examples:
                                    - kyc-12345
                                    - kyc-67890
                                    - kyc-abcde
                                activity:
                                  type: string
                                  description: Activity of the user making the deposit
                                  examples:
                                    - worker
                                    - business
                                    - student
                              required:
                                - userType
                                - firstName
                                - userEmail
                                - country
                            - type: object
                              properties:
                                userType:
                                  type: string
                                  enum:
                                    - business
                                businessName:
                                  type: string
                                  maxLength: 150
                                  description: >-
                                    Business name (required when userType is
                                    business)
                                  examples:
                                    - Acme Corp
                                    - Tech Solutions Inc
                                    - Global Services Ltd
                                firstName:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                  description: >-
                                    First name of the user making the deposit
                                    (or representative for business)
                                  examples:
                                    - John
                                    - Alice
                                    - Bob
                                userEmail:
                                  type: string
                                  maxLength: 254
                                  format: email
                                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                  description: Email of the user making the deposit
                                  examples:
                                    - user@virtuabroker.com
                                    - john.doe@example.com
                                    - alice@example.com
                                address:
                                  type: string
                                  maxLength: 150
                                  description: Address of the user making the deposit
                                  examples:
                                    - 123 Main St, Anytown, ES
                                    - 456 Elm St, Anytown, ES
                                    - 789 Oak St, Anytown, ES
                                taxDocumentType:
                                  type: string
                                  maxLength: 50
                                  description: >-
                                    Tax document type of the user making the
                                    deposit. Common values: DNI, NIE, PASSPORT,
                                    CC, NIT, CE, NIF, but any string is
                                    accepted.
                                  examples:
                                    - CC
                                    - NIT
                                    - CE
                                    - NIF
                                    - Other
                                taxId:
                                  type: string
                                  maxLength: 30
                                  description: Tax ID of the user making the deposit
                                  examples:
                                    - 123-45-6789
                                    - 987-65-4321
                                    - 111-22-3333
                                country:
                                  type: string
                                  enum:
                                    - US
                                    - CA
                                    - GB
                                    - DE
                                    - FR
                                    - AU
                                    - JP
                                    - KR
                                    - SE
                                    - 'NO'
                                    - DK
                                    - FI
                                    - NL
                                    - BE
                                    - CH
                                    - AT
                                    - NZ
                                    - SG
                                    - IE
                                    - LU
                                    - PT
                                    - ES
                                    - IT
                                    - GR
                                    - CZ
                                    - PL
                                    - HU
                                    - SK
                                    - SI
                                    - EE
                                    - LT
                                    - LV
                                    - IS
                                    - MT
                                    - CY
                                    - HR
                                    - RO
                                    - BG
                                    - BR
                                    - AR
                                    - CL
                                    - MX
                                    - CO
                                    - PE
                                    - PA
                                    - UY
                                    - BO
                                    - ZA
                                    - NG
                                    - KE
                                    - GH
                                    - TZ
                                    - UG
                                    - RW
                                    - MW
                                    - ZM
                                    - BW
                                    - CD
                                    - CI
                                    - CM
                                    - IL
                                    - AE
                                    - QA
                                    - SA
                                    - OM
                                    - KW
                                    - BH
                                    - MY
                                    - PH
                                    - TH
                                    - VN
                                    - ID
                                    - IN
                                    - LK
                                    - NP
                                    - BD
                                    - PK
                                    - EG
                                    - MA
                                    - DZ
                                    - TN
                                    - JO
                                    - LB
                                    - TR
                                    - KH
                                    - MM
                                    - LA
                                    - EN
                                    - BT
                                    - VE
                                    - TW
                                    - HK
                                    - CN
                                  description: Country code of the user making the deposit
                                  examples:
                                    - ES
                                    - US
                                    - GB
                                state:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: State of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                postalCode:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Postal code of the user making the deposit
                                  examples:
                                    - '12345'
                                    - '67890'
                                    - abcde
                                city:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: City of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                dob:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Date of birth of the user making the deposit
                                  examples:
                                    - '1990-01-01'
                                    - '1995-05-15'
                                    - '1988-12-31'
                                phoneNumber:
                                  type: string
                                  maxLength: 30
                                  description: Phone number of the user making the deposit
                                  examples:
                                    - '+447700900123'
                                    - '+447700900456'
                                    - '+447700900789'
                                kycId:
                                  type: string
                                  minLength: 1
                                  maxLength: 300
                                  description: >-
                                    KYC ID of the user making the deposit on
                                    your platform (if the KYC is done by you,
                                    add the url)
                                  examples:
                                    - kyc-12345
                                    - kyc-67890
                                    - kyc-abcde
                                activity:
                                  type: string
                                  description: Activity of the user making the deposit
                                  examples:
                                    - worker
                                    - business
                                    - student
                              required:
                                - userType
                                - businessName
                                - firstName
                                - userEmail
                                - country
                          description: User data of the person/company making the deposit
                          examples:
                            - userType: individual
                              firstName: John
                              lastName: Doe
                              userEmail: user@virtuabroker.com
                              address: 123 Main St, Anytown, ES
                              taxId: 123-45-6789
                              country: ES
                            - userType: individual
                              firstName: Alice
                              lastName: Smith
                              userEmail: alice@example.com
                              address: 456 Elm St, Anytown, ES
                              taxId: 987-65-4321
                              country: ES
                        createdAt:
                          type: number
                          description: Creation time of the deposit
                          examples:
                            - 1723027132
                            - 1723027133
                            - 1723027134
                        rail:
                          type: string
                          enum:
                            - BALANCE
                            - SEPA
                            - BTC
                            - ETH
                            - MATIC
                            - POLYGON
                            - CELO
                            - TRON
                            - SOLANA
                            - ARBITRUM
                            - OPTIMISM
                            - AVALANCHE
                            - BSC
                            - BASE
                            - XRP
                            - PIX_BR
                            - UPI
                            - IMPS
                            - TRY_BANK_TRANSFER
                            - AED_BANK_TRANSFER
                            - SPEI
                            - IDR_BANK_TRANSFER
                            - CREDIT_CARD
                            - THAI_QR
                            - VIET_QR
                            - GCASH
                            - ARGENTINA_BANK_TRANSFER
                            - PSE
                            - CLABE
                            - PIX
                            - BANK_DEPOSIT_COL
                            - BANK_DEPOSIT_AR
                            - BANK_DEPOSIT_CL
                            - BANK_DEPOSIT_PE
                            - BANK_DEPOSIT_BO
                            - BANK_DEPOSIT_BR
                            - BANK_DEPOSIT_NG
                            - BANK_DEPOSIT_KE
                            - BANK_DEPOSIT_GH
                            - BANK_DEPOSIT_ZA
                            - BANK_DEPOSIT_TZ
                            - BANK_DEPOSIT_UG
                            - BANK_DEPOSIT_RW
                            - BANK_DEPOSIT_MW
                            - BANK_DEPOSIT_ZM
                            - BANK_DEPOSIT_BW
                            - BANK_DEPOSIT_CD
                            - BANK_DEPOSIT_XOF
                            - BANK_DEPOSIT_XAF
                            - MOBILE_MONEY_NG
                            - MOBILE_MONEY_KE
                            - MOBILE_MONEY_GH
                            - MOBILE_MONEY_ZA
                            - MOBILE_MONEY_TZ
                            - MOBILE_MONEY_UG
                            - MOBILE_MONEY_RW
                            - MOBILE_MONEY_MW
                            - MOBILE_MONEY_ZM
                            - MOBILE_MONEY_BW
                            - MOBILE_MONEY_CD
                            - MOBILE_MONEY_XOF
                            - MOBILE_MONEY_XAF
                            - ACH_US
                            - GBP_BANK_TRANSFER
                          description: Rail of the deposit
                        receivedAt:
                          type: number
                          description: >-
                            Unix ms timestamp of when the funds for this deposit
                            ARRIVED — recorded when the incoming payment is
                            matched to the deposit, which is before it is
                            credited. Present whenever funds have arrived,
                            including a deposit whose funds are still held in
                            review; omitted entirely when no funds ever arrived,
                            so a never-funded or cancelled deposit has no value
                            here and its presence is a reliable settlement
                            signal for reconciliation. Identical on GET
                            /v1/deposits and GET /v1/deposits/{depositId}. Note
                            that the deposit object embedded in order and
                            operation responses does not yet apply this rule —
                            it returns the stored value. Not the creation time —
                            use createdAt for that.
                          examples:
                            - 1723027132000
                            - 1723027133000
                            - 1723027134000
                        expectedAmount:
                          type: number
                          minimum: 0
                          description: Amount expected of the deposit
                          examples:
                            - 1000
                            - 2000
                            - 3000
                        amount:
                          type: number
                          minimum: 0
                          description: Amount received of the deposit
                          examples:
                            - 1000
                            - 2000
                            - 3000
                        currency:
                          anyOf:
                            - type: string
                              enum:
                                - EUR
                                - USD
                                - GBP
                                - BRL
                                - MXN
                                - ARS
                                - COP
                                - PEN
                                - NGN
                                - KES
                                - TZS
                                - UGX
                                - RWF
                                - MWK
                                - ZMW
                                - XOF
                                - XAF
                                - BWP
                            - type: string
                              enum:
                                - USDC
                                - USDT
                                - CUSD
                                - BTC
                                - ETH
                                - POL
                                - SOL
                                - TRX
                                - AVAX
                                - XRP
                                - BNB
                          description: Currency of the deposit
                          examples:
                            - EUR
                            - BRL
                        fee:
                          type: number
                          minimum: 0
                          description: >-
                            Fee for the deposit. This value is written once the
                            deposit has been executed. Meanwhile it will appear
                            0.
                          example: 10
                        expectedFee:
                          type: number
                          minimum: 0
                          description: >-
                            Fee for the deposit. This value is correlated with
                            the expected amount for the deposit.
                          examples:
                            - 10
                            - 20
                            - 30
                        feeCurrency:
                          anyOf:
                            - type: string
                              enum:
                                - EUR
                                - USD
                                - GBP
                                - BRL
                                - MXN
                                - ARS
                                - COP
                                - PEN
                                - NGN
                                - KES
                                - TZS
                                - UGX
                                - RWF
                                - MWK
                                - ZMW
                                - XOF
                                - XAF
                                - BWP
                            - type: string
                              enum:
                                - USDC
                                - USDT
                                - CUSD
                                - BTC
                                - ETH
                                - POL
                                - SOL
                                - TRX
                                - AVAX
                                - XRP
                                - BNB
                          description: Currency of the fee
                          examples:
                            - EUR
                            - BRL
                        status:
                          anyOf:
                            - type: string
                              enum:
                                - Pending
                                - Processing
                                - Success
                                - Failed
                                - Canceled
                                - Reviewing
                              description: >-
                                Common status values that are shared across all
                                operation types
                              examples:
                                - Pending
                                - Processing
                                - Success
                                - Failed
                                - Canceled
                                - Reviewing
                            - type: string
                              enum:
                                - PendingCancel
                                - Received
                          description: Status of the deposit
                          examples:
                            - Pending
                            - Success
                            - Failed
                            - Received
                            - PendingCancel
                        depositInfo:
                          oneOf:
                            - type: object
                              properties:
                                accountHolder:
                                  type: string
                                  description: Name of the account holder
                                  example: John Doe
                                iban:
                                  type: string
                                  description: SEPA Bank Account Number
                                  example: DE8937XXXXXXXXXXXX3000
                                bic:
                                  type: string
                                  description: Bank BIC/SWIFT code
                                  example: DEUTDEFF
                                bankName:
                                  type: string
                                  description: Name of the bank
                                  example: Deutsche Bank
                                bankAddress:
                                  type: string
                                  description: Address of the bank
                                  example: Taunusanlage 12
                                bankCity:
                                  type: string
                                  description: City of the bank
                                  example: Frankfurt am Main
                                bankZipcode:
                                  type: string
                                  description: Zipcode of the bank
                                  example: '60325'
                                bankCountry:
                                  type: string
                                  enum:
                                    - US
                                    - CA
                                    - GB
                                    - DE
                                    - FR
                                    - AU
                                    - JP
                                    - KR
                                    - SE
                                    - 'NO'
                                    - DK
                                    - FI
                                    - NL
                                    - BE
                                    - CH
                                    - AT
                                    - NZ
                                    - SG
                                    - IE
                                    - LU
                                    - PT
                                    - ES
                                    - IT
                                    - GR
                                    - CZ
                                    - PL
                                    - HU
                                    - SK
                                    - SI
                                    - EE
                                    - LT
                                    - LV
                                    - IS
                                    - MT
                                    - CY
                                    - HR
                                    - RO
                                    - BG
                                    - BR
                                    - AR
                                    - CL
                                    - MX
                                    - CO
                                    - PE
                                    - PA
                                    - UY
                                    - BO
                                    - ZA
                                    - NG
                                    - KE
                                    - GH
                                    - TZ
                                    - UG
                                    - RW
                                    - MW
                                    - ZM
                                    - BW
                                    - CD
                                    - CI
                                    - CM
                                    - IL
                                    - AE
                                    - QA
                                    - SA
                                    - OM
                                    - KW
                                    - BH
                                    - MY
                                    - PH
                                    - TH
                                    - VN
                                    - ID
                                    - IN
                                    - LK
                                    - NP
                                    - BD
                                    - PK
                                    - EG
                                    - MA
                                    - DZ
                                    - TN
                                    - JO
                                    - LB
                                    - TR
                                    - KH
                                    - MM
                                    - LA
                                    - EN
                                    - BT
                                    - VE
                                    - TW
                                    - HK
                                    - CN
                                  description: Country of the bank
                                  example: DE
                                depositType:
                                  type: string
                                  enum:
                                    - SEPA
                                amount:
                                  type: number
                                  minimum: 0
                                  description: >-
                                    Expected deposit amount. It can be 0 for
                                    open-amount bank transfers where the sender
                                    chooses the final amount from their bank.
                                  example: 1000
                                referenceCode:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    A unique identifier for the deposit, crucial
                                    for matching the deposit with the
                                    corresponding order. The user must include
                                    this code when making the deposit to ensure
                                    accurate processing. In cases where the
                                    reference code is incorrect or missing, we
                                    manually match orders based on the sender's
                                    name and other available details. In case
                                    the deposit is not matched, we will mark the
                                    order as Reviewing and the system will
                                    require manual attention.
                                  example: REF123456
                                extraDepositMethods:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      methodType:
                                        type: string
                                        enum:
                                          - HOSTED_CHECKOUT
                                        description: >-
                                          HOSTED_CHECKOUT: a hosted payment page
                                          to send the payer to (card). More types
                                          may be added — treat an unknown value as
                                          unsupported and fall back to the bank
                                          details in `depositInfo`.
                                      url:
                                        type: string
                                        description: >-
                                          URL to send the payer to. For
                                          HOSTED_CHECKOUT, redirect the payer here
                                          (or embed it) to pay by card.
                                        example: https://checkout.example.com/pay/abc123
                                      callbackUrl:
                                        type: string
                                        description: >-
                                          Where the payer’s BROWSER is returned
                                          after paying. Informational only: it is
                                          not a server-to-server notification, and
                                          a payer landing there is NOT proof of
                                          payment — rely on the deposit status or
                                          webhooks for that.
                                      referenceCode:
                                        type: string
                                        description: >-
                                          Payment reference for this method
                                          (equals the deposit/order reference)
                                      amount:
                                        type: number
                                        description: >-
                                          Amount payable via this method when it
                                          differs from the deposit amount (e.g. a
                                          method-specific surcharge)
                                      currency:
                                        type: string
                                        description: Currency of this method
                                      expiresAt:
                                        type: number
                                        description: >-
                                          Unix ms after which `url` is no longer
                                          valid, when known
                                    required:
                                      - methodType
                                      - url
                                    description: >-
                                      An additional, optional way to pay this
                                      deposit
                                  description: >-
                                    Additional, optional ways to pay this same
                                    deposit (e.g. a hosted card page). The bank
                                    details above remain the primary method;
                                    ignore this field if you only support bank
                                    transfer.
                              required:
                                - depositType
                                - amount
                                - referenceCode
                              description: >-
                                Detailed information about a bank deposit,
                                including the amount and a unique reference code
                                for identification.
                            - type: object
                              properties:
                                address:
                                  type: string
                                  minLength: 1
                                  description: Crypto wallet address
                                  example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                                network:
                                  type: string
                                  enum:
                                    - MATIC
                                    - ETH
                                    - CELO
                                    - TRON
                                    - BTC
                                    - SOLANA
                                    - XRP
                                    - CARDANO
                                    - BSC
                                    - ARBITRUM
                                    - OPTIMISM
                                    - AVALANCHE
                                    - BASE
                                  description: Network for the deposit for crypto deposits
                                  examples:
                                    - ETH
                                    - MATIC
                                    - CELO
                                memo:
                                  type: string
                                  description: Optional memo for the transaction
                                  example: Payment for services
                                depositType:
                                  type: string
                                  enum:
                                    - CRYPTO
                                qrCode:
                                  type: string
                                  description: >-
                                    Base64-encoded QR image for the deposit
                                    address
                                  example: >-
                                    iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                                qrCodeUrl:
                                  type: string
                                  format: uri
                                  description: 7-day signed GCS URL of the QR code PNG
                                qrCodeExpiresAt:
                                  type: number
                                  description: Unix timestamp (ms) when qrCodeUrl expires
                                receivingAddress:
                                  type: string
                                  description: >-
                                    The wallet address where funds should be
                                    sent
                                  example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                                tokenContract:
                                  type: string
                                  description: The ERC20 token contract address
                                  example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                                decimals:
                                  type: number
                                  description: Token decimals (default 18)
                                  example: 18
                              required:
                                - address
                                - network
                                - depositType
                              description: Crypto Deposit Information
                            - type: object
                              properties:
                                base64QRCode:
                                  type: string
                                  minLength: 1
                                  description: Base64 encoded QR code
                                  example: base64QRCode
                                qrCodeString:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    The Pix copy-and-paste code (BR Code
                                    payload) the payer pastes into their bank
                                    app. Pass it through unchanged — it carries
                                    its own checksum.
                                  example: qrCodeString
                                referenceCode:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    A unique identifier for the deposit, crucial
                                    for matching the deposit with the
                                    corresponding order
                                  example: REF123456
                                amount:
                                  type: number
                                  minimum: 0
                                  exclusiveMinimum: true
                                  description: >-
                                    The monetary value to be deposited into the
                                    bank. This amount should be positive and
                                    accurately reflect the intended deposit.
                                  example: 1000
                                depositType:
                                  type: string
                                  enum:
                                    - PIX
                              required:
                                - base64QRCode
                                - qrCodeString
                                - referenceCode
                                - amount
                                - depositType
                              description: Pix Deposit Information
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - CREDIT_CARD
                              required:
                                - depositType
                            - type: object
                              properties:
                                bankName:
                                  type: string
                                  description: >-
                                    Name of the bank (present when the rail
                                    provides it)
                                accountHolder:
                                  type: string
                                  description: >-
                                    Name of the account holder (present when the
                                    rail provides it)
                                clabe:
                                  type: string
                                  description: CLABE number
                                accountNumber:
                                  type: string
                                  description: >-
                                    Bank account number (e.g. from the
                                    BANK_TRANSFER payment method)
                                reference:
                                  type: string
                                  description: >-
                                    Payment reference (e.g. from the
                                    BANK_TRANSFER payment method)
                                depositType:
                                  type: string
                                  enum:
                                    - CLABE
                                  description: Type of the deposit
                              required:
                                - clabe
                                - depositType
                            - type: object
                              properties:
                                url:
                                  type: string
                                  description: URL of the PSE payment
                                amountPrefilled:
                                  type: boolean
                                  description: >-
                                    Whether the payment page already carries the
                                    amount. When false or absent, the payer must
                                    enter it.
                                depositType:
                                  type: string
                                  enum:
                                    - PSE
                                  description: Type of the deposit
                              required:
                                - url
                                - depositType
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BALANCE
                              required:
                                - depositType
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - PENDING
                                currency:
                                  type: string
                                  description: Currency of the deposit
                                referenceCode:
                                  type: string
                                  description: Reference code for the order/deposit
                                amount:
                                  type: number
                                  minimum: 0
                                  description: >-
                                    Expected deposit amount. It can be 0 while
                                    bank transfer details are open-amount or
                                    still being provisioned.
                                extraDepositMethods:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      methodType:
                                        type: string
                                        enum:
                                          - HOSTED_CHECKOUT
                                        description: >-
                                          HOSTED_CHECKOUT: a hosted payment page
                                          to send the payer to (card). More types
                                          may be added — treat an unknown value as
                                          unsupported and fall back to the bank
                                          details in `depositInfo`.
                                      url:
                                        type: string
                                        description: >-
                                          URL to send the payer to. For
                                          HOSTED_CHECKOUT, redirect the payer here
                                          (or embed it) to pay by card.
                                        example: https://checkout.example.com/pay/abc123
                                      callbackUrl:
                                        type: string
                                        description: >-
                                          Where the payer’s BROWSER is returned
                                          after paying. Informational only: it is
                                          not a server-to-server notification, and
                                          a payer landing there is NOT proof of
                                          payment — rely on the deposit status or
                                          webhooks for that.
                                      referenceCode:
                                        type: string
                                        description: >-
                                          Payment reference for this method
                                          (equals the deposit/order reference)
                                      amount:
                                        type: number
                                        description: >-
                                          Amount payable via this method when it
                                          differs from the deposit amount (e.g. a
                                          method-specific surcharge)
                                      currency:
                                        type: string
                                        description: Currency of this method
                                      expiresAt:
                                        type: number
                                        description: >-
                                          Unix ms after which `url` is no longer
                                          valid, when known
                                    required:
                                      - methodType
                                      - url
                                    description: >-
                                      An additional, optional way to pay this
                                      deposit
                                  description: >-
                                    Additional ways to pay while the bank
                                    details are being provisioned (e.g. a hosted
                                    card page). Optional — ignore it and wait
                                    for the bank details if you only support
                                    bank transfer.
                                pendingReason:
                                  type: string
                                  enum:
                                    - collection_account_activating
                                    - accountless_per_account_corridor
                                  description: >-
                                    Why the instructions are still being
                                    provisioned, when the reason is known.
                                    `collection_account_activating` means the
                                    collection account for this payer is being
                                    activated and payable details are expected
                                    shortly. `accountless_per_account_corridor`
                                    means this corridor collects only into a
                                    collection account dedicated to the paying
                                    account, this request names no account, and
                                    none can be created for it — so payable
                                    details will NOT arrive by waiting; create
                                    the deposit against an account instead.
                                    Absence never conveys timing on either
                                    surface: here it means only that no reason
                                    is classifiable, and an account-level
                                    deposit-method instruction never carries the
                                    field at all. Treat the values as an open
                                    set and ignore any you do not recognise.
                              required:
                                - depositType
                                - currency
                                - referenceCode
                                - amount
                              description: >-
                                Deposit details are being provisioned; poll the
                                order/deposit or wait for webhook
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - IMPS
                                accountNumber:
                                  type: string
                                  description: Account number
                                bankName:
                                  type: string
                                  description: Name of the bank
                                accountHolder:
                                  type: string
                                  description: Name of the account holder
                                ifsc:
                                  type: string
                                  description: ifsc number
                                type:
                                  type: string
                                  description: Type of the deposit
                                branch:
                                  type: string
                                  description: Branch of the bank
                                bank:
                                  type: string
                                  description: Bank of the account
                                otp:
                                  type: string
                                  description: OTP of the deposit
                                bankNotes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: number
                                        description: 'Type of note: -1 for warning, 1 for info'
                                      msg:
                                        type: string
                                        description: Message content
                                    required:
                                      - type
                                      - msg
                                  description: Additional bank instructions
                              required:
                                - depositType
                                - accountNumber
                                - bankName
                                - accountHolder
                                - ifsc
                                - type
                                - branch
                                - bank
                                - otp
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - UPI
                                vpa:
                                  type: string
                                  description: Virtual Payment Address
                                name:
                                  type: string
                                  description: Name of the account holder
                                otp:
                                  type: string
                                  description: OTP for the transaction
                                paymentLink:
                                  type: string
                                  description: Payment link
                                upiNotes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: number
                                        description: 'Type of note: -1 for warning, 1 for info'
                                      msg:
                                        type: string
                                        description: Message content
                                    required:
                                      - type
                                      - msg
                                  description: Additional UPI instructions
                              required:
                                - depositType
                                - vpa
                                - name
                                - otp
                                - paymentLink
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - AED_BANK_TRANSFER
                                iban:
                                  type: string
                                  description: International Bank Account Number
                                name:
                                  type: string
                                  description: Name of the account holder
                                bank:
                                  type: string
                                  description: Bank name
                                type:
                                  type: string
                                  description: Account type
                                address:
                                  type: string
                                  description: Bank address
                                email:
                                  type: string
                                  description: Contact email
                                phoneNumber:
                                  type: string
                                  description: Contact phone number
                                transferCode:
                                  type: string
                                  description: Transfer code
                                poBox:
                                  type: string
                                  description: P.O. Box
                                otp:
                                  type: string
                                  description: OTP for the transaction
                                bankNotes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: number
                                        description: 'Type of note: -1 for warning, 1 for info'
                                      msg:
                                        type: string
                                        description: Message content
                                    required:
                                      - type
                                      - msg
                                  description: Additional bank instructions
                              required:
                                - depositType
                                - iban
                                - name
                                - bank
                                - type
                                - address
                                - email
                                - phoneNumber
                                - transferCode
                                - poBox
                                - otp
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - SPEI
                                clabe:
                                  type: string
                                  description: CLABE number
                                name:
                                  type: string
                                  description: Name of the account holder
                                bank:
                                  type: string
                                  description: Bank name
                                bankNotes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: number
                                        description: 'Type of note: -1 for warning, 1 for info'
                                      msg:
                                        type: string
                                        description: Message content
                                    required:
                                      - type
                                      - msg
                                  description: Additional bank instructions
                              required:
                                - depositType
                                - clabe
                                - name
                                - bank
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - TRY_BANK_TRANSFER
                                iban:
                                  type: string
                                  description: International Bank Account Number
                                name:
                                  type: string
                                  description: Name of the account holder
                                bank:
                                  type: string
                                  description: Bank name
                                otp:
                                  type: string
                                  description: OTP for the transaction
                                bankNotes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: number
                                        description: 'Type of note: -1 for warning, 1 for info'
                                      msg:
                                        type: string
                                        description: Message content
                                    required:
                                      - type
                                      - msg
                                  description: Additional bank instructions
                              required:
                                - depositType
                                - iban
                                - name
                                - bank
                                - otp
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - IDR_BANK_TRANSFER
                                virtualAccount:
                                  type: string
                                  description: Virtual account number
                                name:
                                  type: string
                                  description: Name of the account holder
                                bank:
                                  type: string
                                  description: Bank name
                                bankNotes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: number
                                        description: 'Type of note: -1 for warning, 1 for info'
                                      msg:
                                        type: string
                                        description: Message content
                                    required:
                                      - type
                                      - msg
                                  description: Additional bank instructions
                              required:
                                - depositType
                                - virtualAccount
                                - name
                                - bank
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - THAI_QR
                                qrCode:
                                  type: string
                                  description: QR code
                                otp:
                                  type: string
                                  description: OTP for the transaction
                                bankNotes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: number
                                        description: 'Type of note: -1 for warning, 1 for info'
                                      msg:
                                        type: string
                                        description: Message content
                                    required:
                                      - type
                                      - msg
                                  description: Additional bank instructions
                              required:
                                - depositType
                                - qrCode
                                - otp
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - VIET_QR
                                qrCode:
                                  type: string
                                  description: QR code
                                otp:
                                  type: string
                                  description: OTP for the transaction
                                bankNotes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: number
                                        description: 'Type of note: -1 for warning, 1 for info'
                                      msg:
                                        type: string
                                        description: Message content
                                    required:
                                      - type
                                      - msg
                                  description: Additional bank instructions
                              required:
                                - depositType
                                - qrCode
                                - otp
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - GCASH
                                qrCode:
                                  type: string
                                  description: QR code
                                otp:
                                  type: string
                                  description: OTP for the transaction
                                bankNotes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: number
                                        description: 'Type of note: -1 for warning, 1 for info'
                                      msg:
                                        type: string
                                        description: Message content
                                    required:
                                      - type
                                      - msg
                                  description: Additional bank instructions
                              required:
                                - depositType
                                - qrCode
                                - otp
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - ARGENTINA_BANK_TRANSFER
                                accountNumber:
                                  type: string
                                  description: Account number
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - accountNumber
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - ACH_US
                                routingNumber:
                                  type: string
                                  description: US bank ABA routing number
                                accountNumber:
                                  type: string
                                  description: US bank account number
                                beneficiaryName:
                                  type: string
                                  description: Beneficiary name on the account
                                bankName:
                                  type: string
                                  description: Name of the bank
                                bankAddress:
                                  type: string
                                  description: Address of the bank
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names (e.g. ACH,
                                    Wire)
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount in USD
                                referenceCode:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Reference code to include in the wire/ACH
                                    transfer
                              required:
                                - depositType
                                - routingNumber
                                - accountNumber
                                - beneficiaryName
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - ACH_PULL
                              required:
                                - depositType
                              description: >-
                                Funds are pulled from the holder's own linked US
                                bank account; no transfer instructions apply
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - LOCALBANK
                                  description: >-
                                    Deprecated generic local-bank payin type.
                                    Superseded by the corridor-specific deposit
                                    types (e.g. SEPA, ACH_US, GBP_BANK_TRANSFER,
                                    CLABE/SPEI, PIX, ARGENTINA_BANK_TRANSFER,
                                    BANK_DEPOSIT_<CC>). Still returned on some
                                    corridors and on historical records, so
                                    integrators must continue to handle it.
                                    Discover the applicable per-currency method
                                    via GET
                                    /v1/currencies/{currency}/payin-schema.
                                  deprecated: true
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - GBP_BANK_TRANSFER
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: UK bank account number
                                sortCode:
                                  type: string
                                  description: UK sort code
                                bankName:
                                  type: string
                                  description: Name of the bank
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names (e.g. Faster
                                    Payments, CHAPS, BACS)
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount in GBP
                                referenceCode:
                                  type: string
                                  minLength: 1
                                  description: Reference code to include in the transfer
                              required:
                                - depositType
                                - accountHolder
                                - accountNumber
                                - sortCode
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_COL
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_CL
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_BO
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_BR
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_NG
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_KE
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_GH
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_ZA
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_TZ
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_UG
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_RW
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_MW
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_ZM
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_BW
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_CD
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_XOF
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_XAF
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_NG
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_KE
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_GH
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_ZA
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_TZ
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_UG
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_RW
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_MW
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_ZM
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_BW
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_CD
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_XOF
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                            - type: object
                              properties:
                                depositType:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_XAF
                                accountHolder:
                                  type: string
                                  description: Account holder name
                                accountNumber:
                                  type: string
                                  description: Local bank account number
                                bankName:
                                  type: string
                                  description: Bank name
                                bankCountry:
                                  type: string
                                  description: ISO-3166 country code
                                routingCodes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: >-
                                          Routing code type (e.g.
                                          "routing_number", "sort_code")
                                      value:
                                        type: string
                                        description: Routing code value
                                    required:
                                      - type
                                      - value
                                  description: >-
                                    Routing identifiers (e.g. sort code, routing
                                    number)
                                schemes:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Accepted payment scheme names for this
                                    account
                                amount:
                                  type: number
                                  minimum: 0
                                  description: Expected deposit amount
                                referenceCode:
                                  type: string
                                  description: Reference code for the transfer
                              required:
                                - depositType
                                - amount
                                - referenceCode
                          description: Details of the deposit
                          examples:
                            - accountHolder: John Doe
                              iban: DE8937XXXXXXXXXXXX3000
                              bic: COBADEFFXXX
                              bankName: Commerzbank
                              bankAddress: Mainzer Landstrasse 151-153
                              bankCity: Frankfurt
                              bankZipcode: '60327'
                              bankCountry: DE
                              amount: 1000
                              referenceCode: ABC123
                              depositType: SEPA
                        depositInfoPending:
                          type: boolean
                          description: >-
                            True while the payment instructions are still being
                            prepared. Poll this deposit until it is false (or
                            absent) before showing the instructions to the
                            payer.
                        complianceHold:
                          type: object
                          properties:
                            reason:
                              type: string
                              enum:
                                - screening
                                - fiat_monitoring
                              description: Compliance hold reason
                          required:
                            - reason
                          description: >-
                            Present while the inbound transfer funding this
                            deposit is held in provider compliance review. The
                            deposit stays Reviewing (amount 0, never credited)
                            until the hold clears (promote to Received) or the
                            transfer is rejected/returned (terminalize).
                      required:
                        - depositId
                        - createdAt
                        - expectedAmount
                        - amount
                        - currency
                        - fee
                        - expectedFee
                        - feeCurrency
                        - status
                        - depositInfo
                      description: Details of the deposit associated with the order
                    trade:
                      type: object
                      properties:
                        tradeId:
                          type: string
                          description: ID of the trade
                          example: 123e4567-e89b-12d3-a456-426614174000
                        createdAt:
                          type: number
                          description: Creation time of the trade
                          example: 1723027132
                        pair:
                          type: string
                          description: Asset pair to trade
                          example: BTC/EUR
                        tradeType:
                          type: string
                          enum:
                            - buy
                            - sell
                          description: Type of trade
                        volume:
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                          description: Order quantity in lots
                          example: 0.5
                        price:
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                          description: Price at which to place the order based on the pair
                          example: 30000
                        conversionRate:
                          type: number
                          minimum: 0
                          exclusiveMinimum: true
                          description: >-
                            Conversion rate at which to place the order based on
                            the pair
                          example: 30000
                        fee:
                          type: number
                          minimum: 0
                          description: Fee for the trade
                          example: 0.1
                        feeCurrency:
                          type: string
                          description: Currency of the fee
                          example: EUR
                        userEmail:
                          type: string
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the trade
                          example: user@example.com
                      required:
                        - tradeId
                        - createdAt
                        - pair
                        - tradeType
                        - volume
                        - fee
                        - feeCurrency
                        - userEmail
                      description: Details of the trade associated with the order
                    withdraw:
                      type: object
                      properties:
                        withdrawalId:
                          anyOf:
                            - type: string
                              minLength: 12
                              maxLength: 12
                              pattern: ^[A-Z0-9]{12}$
                              examples:
                                - 01CLFXMT67II
                                - 2R7E5Y5KFXP8
                                - 4FWWRE3Y2URM
                            - type: string
                              format: uuid
                          description: ID of the withdrawal
                        userData:
                          oneOf:
                            - type: object
                              properties:
                                userType:
                                  type: string
                                  enum:
                                    - individual
                                firstName:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                  description: >-
                                    First name of the user making the deposit
                                    (or representative for business)
                                  examples:
                                    - John
                                    - Alice
                                    - Bob
                                lastName:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: >-
                                    Last name of the user making the deposit (or
                                    representative for business)
                                  examples:
                                    - Doe
                                    - Smith
                                    - Johnson
                                userEmail:
                                  type: string
                                  maxLength: 254
                                  format: email
                                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                  description: Email of the user making the deposit
                                  examples:
                                    - user@virtuabroker.com
                                    - john.doe@example.com
                                    - alice@example.com
                                address:
                                  type: string
                                  maxLength: 150
                                  description: Address of the user making the deposit
                                  examples:
                                    - 123 Main St, Anytown, ES
                                    - 456 Elm St, Anytown, ES
                                    - 789 Oak St, Anytown, ES
                                taxDocumentType:
                                  type: string
                                  maxLength: 50
                                  description: >-
                                    Tax document type of the user making the
                                    deposit. Common values: DNI, NIE, PASSPORT,
                                    CC, NIT, CE, NIF, but any string is
                                    accepted.
                                  examples:
                                    - CC
                                    - NIT
                                    - CE
                                    - NIF
                                    - Other
                                taxId:
                                  type: string
                                  maxLength: 30
                                  description: Tax ID of the user making the deposit
                                  examples:
                                    - 123-45-6789
                                    - 987-65-4321
                                    - 111-22-3333
                                country:
                                  type: string
                                  enum:
                                    - US
                                    - CA
                                    - GB
                                    - DE
                                    - FR
                                    - AU
                                    - JP
                                    - KR
                                    - SE
                                    - 'NO'
                                    - DK
                                    - FI
                                    - NL
                                    - BE
                                    - CH
                                    - AT
                                    - NZ
                                    - SG
                                    - IE
                                    - LU
                                    - PT
                                    - ES
                                    - IT
                                    - GR
                                    - CZ
                                    - PL
                                    - HU
                                    - SK
                                    - SI
                                    - EE
                                    - LT
                                    - LV
                                    - IS
                                    - MT
                                    - CY
                                    - HR
                                    - RO
                                    - BG
                                    - BR
                                    - AR
                                    - CL
                                    - MX
                                    - CO
                                    - PE
                                    - PA
                                    - UY
                                    - BO
                                    - ZA
                                    - NG
                                    - KE
                                    - GH
                                    - TZ
                                    - UG
                                    - RW
                                    - MW
                                    - ZM
                                    - BW
                                    - CD
                                    - CI
                                    - CM
                                    - IL
                                    - AE
                                    - QA
                                    - SA
                                    - OM
                                    - KW
                                    - BH
                                    - MY
                                    - PH
                                    - TH
                                    - VN
                                    - ID
                                    - IN
                                    - LK
                                    - NP
                                    - BD
                                    - PK
                                    - EG
                                    - MA
                                    - DZ
                                    - TN
                                    - JO
                                    - LB
                                    - TR
                                    - KH
                                    - MM
                                    - LA
                                    - EN
                                    - BT
                                    - VE
                                    - TW
                                    - HK
                                    - CN
                                  description: Country code of the user making the deposit
                                  examples:
                                    - ES
                                    - US
                                    - GB
                                state:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: State of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                postalCode:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Postal code of the user making the deposit
                                  examples:
                                    - '12345'
                                    - '67890'
                                    - abcde
                                city:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: City of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                dob:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Date of birth of the user making the deposit
                                  examples:
                                    - '1990-01-01'
                                    - '1995-05-15'
                                    - '1988-12-31'
                                phoneNumber:
                                  type: string
                                  maxLength: 30
                                  description: Phone number of the user making the deposit
                                  examples:
                                    - '+447700900123'
                                    - '+447700900456'
                                    - '+447700900789'
                                kycId:
                                  type: string
                                  minLength: 1
                                  maxLength: 300
                                  description: >-
                                    KYC ID of the user making the deposit on
                                    your platform (if the KYC is done by you,
                                    add the url)
                                  examples:
                                    - kyc-12345
                                    - kyc-67890
                                    - kyc-abcde
                                activity:
                                  type: string
                                  description: Activity of the user making the deposit
                                  examples:
                                    - worker
                                    - business
                                    - student
                              required:
                                - userType
                                - firstName
                                - userEmail
                                - country
                            - type: object
                              properties:
                                userType:
                                  type: string
                                  enum:
                                    - business
                                businessName:
                                  type: string
                                  maxLength: 150
                                  description: >-
                                    Business name (required when userType is
                                    business)
                                  examples:
                                    - Acme Corp
                                    - Tech Solutions Inc
                                    - Global Services Ltd
                                firstName:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                  description: >-
                                    First name of the user making the deposit
                                    (or representative for business)
                                  examples:
                                    - John
                                    - Alice
                                    - Bob
                                userEmail:
                                  type: string
                                  maxLength: 254
                                  format: email
                                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                  description: Email of the user making the deposit
                                  examples:
                                    - user@virtuabroker.com
                                    - john.doe@example.com
                                    - alice@example.com
                                address:
                                  type: string
                                  maxLength: 150
                                  description: Address of the user making the deposit
                                  examples:
                                    - 123 Main St, Anytown, ES
                                    - 456 Elm St, Anytown, ES
                                    - 789 Oak St, Anytown, ES
                                taxDocumentType:
                                  type: string
                                  maxLength: 50
                                  description: >-
                                    Tax document type of the user making the
                                    deposit. Common values: DNI, NIE, PASSPORT,
                                    CC, NIT, CE, NIF, but any string is
                                    accepted.
                                  examples:
                                    - CC
                                    - NIT
                                    - CE
                                    - NIF
                                    - Other
                                taxId:
                                  type: string
                                  maxLength: 30
                                  description: Tax ID of the user making the deposit
                                  examples:
                                    - 123-45-6789
                                    - 987-65-4321
                                    - 111-22-3333
                                country:
                                  type: string
                                  enum:
                                    - US
                                    - CA
                                    - GB
                                    - DE
                                    - FR
                                    - AU
                                    - JP
                                    - KR
                                    - SE
                                    - 'NO'
                                    - DK
                                    - FI
                                    - NL
                                    - BE
                                    - CH
                                    - AT
                                    - NZ
                                    - SG
                                    - IE
                                    - LU
                                    - PT
                                    - ES
                                    - IT
                                    - GR
                                    - CZ
                                    - PL
                                    - HU
                                    - SK
                                    - SI
                                    - EE
                                    - LT
                                    - LV
                                    - IS
                                    - MT
                                    - CY
                                    - HR
                                    - RO
                                    - BG
                                    - BR
                                    - AR
                                    - CL
                                    - MX
                                    - CO
                                    - PE
                                    - PA
                                    - UY
                                    - BO
                                    - ZA
                                    - NG
                                    - KE
                                    - GH
                                    - TZ
                                    - UG
                                    - RW
                                    - MW
                                    - ZM
                                    - BW
                                    - CD
                                    - CI
                                    - CM
                                    - IL
                                    - AE
                                    - QA
                                    - SA
                                    - OM
                                    - KW
                                    - BH
                                    - MY
                                    - PH
                                    - TH
                                    - VN
                                    - ID
                                    - IN
                                    - LK
                                    - NP
                                    - BD
                                    - PK
                                    - EG
                                    - MA
                                    - DZ
                                    - TN
                                    - JO
                                    - LB
                                    - TR
                                    - KH
                                    - MM
                                    - LA
                                    - EN
                                    - BT
                                    - VE
                                    - TW
                                    - HK
                                    - CN
                                  description: Country code of the user making the deposit
                                  examples:
                                    - ES
                                    - US
                                    - GB
                                state:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: State of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                postalCode:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Postal code of the user making the deposit
                                  examples:
                                    - '12345'
                                    - '67890'
                                    - abcde
                                city:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: City of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                dob:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Date of birth of the user making the deposit
                                  examples:
                                    - '1990-01-01'
                                    - '1995-05-15'
                                    - '1988-12-31'
                                phoneNumber:
                                  type: string
                                  maxLength: 30
                                  description: Phone number of the user making the deposit
                                  examples:
                                    - '+447700900123'
                                    - '+447700900456'
                                    - '+447700900789'
                                kycId:
                                  type: string
                                  minLength: 1
                                  maxLength: 300
                                  description: >-
                                    KYC ID of the user making the deposit on
                                    your platform (if the KYC is done by you,
                                    add the url)
                                  examples:
                                    - kyc-12345
                                    - kyc-67890
                                    - kyc-abcde
                                activity:
                                  type: string
                                  description: Activity of the user making the deposit
                                  examples:
                                    - worker
                                    - business
                                    - student
                              required:
                                - userType
                                - businessName
                                - firstName
                                - userEmail
                                - country
                          description: User data for the withdrawal
                        createdAt:
                          type: number
                          description: Creation time of the withdrawal
                          example: 1723027132
                        updatedAt:
                          type: number
                          description: Last update time of the withdrawal
                          example: 1723027132
                        userEmail:
                          type: string
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: Email of the user making the request
                          example: user@example.com
                        amount:
                          type: number
                          description: >-
                            Amount to be withdrawn. This value is written once
                            the withdrawal has been executed. Meanwhile it will
                            appear 0.
                          example: 1000
                        currency:
                          type: string
                          description: Currency of the withdrawal
                          example: EUR
                        fee:
                          type: number
                          description: >-
                            Fee for the withdrawal. This value is written once
                            the withdrawal has been executed. Meanwhile it will
                            appear 0.
                          example: 10
                        feeCurrency:
                          type: string
                          description: Currency of the fee
                          example: EUR
                        destinationTransferData:
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - BALANCE
                              required:
                                - type
                              description: Balance transfer details
                              title: Balance
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                iban:
                                  type: string
                                  description: IBAN number
                                bic:
                                  type: string
                                  description: BIC number (optional)
                                country:
                                  type: string
                                  description: Country code
                                accountType:
                                  type: string
                                  enum:
                                    - PERSONAL
                                    - BUSINESS
                                  default: PERSONAL
                                  description: Account type (optional)
                                city:
                                  type: string
                                  description: >-
                                    City of the recipient. REQUIRED for SEPA
                                    payouts — provide it here or in
                                    destinationUserData.city.
                                postalCode:
                                  type: string
                                  description: >-
                                    Postal code of the recipient. REQUIRED for
                                    SEPA payouts — provide it here or in
                                    destinationUserData.postalCode.
                                address:
                                  type: string
                                  description: >-
                                    Street address (line 1) of the recipient.
                                    Forwarded as the payout beneficiary
                                    `address.line1` when registering the
                                    beneficiary. Stored on the saved transaction
                                    method so the user does not have to
                                    re-supply it on every withdraw.
                                type:
                                  type: string
                                  enum:
                                    - SEPA
                              required:
                                - destinationName
                                - iban
                                - country
                                - type
                              description: SEPA transfer details
                              title: SEPA
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                accountNumber:
                                  type: string
                                  description: UK bank account number
                                sortCode:
                                  type: string
                                  description: UK sort code
                                country:
                                  type: string
                                  enum:
                                    - GB
                                  default: GB
                                  description: >-
                                    ISO 3166 country code of the recipient (GBP
                                    transfer is UK-based)
                                accountType:
                                  type: string
                                  enum:
                                    - PERSONAL
                                    - BUSINESS
                                  default: PERSONAL
                                  description: Account type (optional)
                                city:
                                  type: string
                                  description: >-
                                    City of the recipient. REQUIRED for this
                                    rail — provide it here or in
                                    destinationUserData.city.
                                postalCode:
                                  type: string
                                  description: >-
                                    Postal code of the recipient. REQUIRED for
                                    this rail — provide it here or in
                                    destinationUserData.postalCode.
                                address:
                                  type: string
                                  description: >-
                                    Street address (line 1) of the recipient.
                                    Forwarded as payee address when creating the
                                    payee.
                                type:
                                  type: string
                                  enum:
                                    - GBP_BANK_TRANSFER
                              required:
                                - destinationName
                                - accountNumber
                                - sortCode
                                - type
                              description: GBP domestic bank transfer details
                              title: BankDepositGB
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                accountNumber:
                                  type: string
                                  description: US bank account number
                                routingNumber:
                                  type: string
                                  description: US ABA routing number
                                country:
                                  type: string
                                  enum:
                                    - US
                                  default: US
                                  description: >-
                                    ISO 3166 country code of the recipient (ACH
                                    is US-domestic)
                                accountType:
                                  type: string
                                  enum:
                                    - PERSONAL
                                    - BUSINESS
                                  default: PERSONAL
                                  description: Account type (optional)
                                bankAccountType:
                                  type: string
                                  enum:
                                    - CHECKING
                                    - SAVINGS
                                  default: CHECKING
                                  description: >-
                                    Kind of bank account the payout lands in.
                                    Defaults to CHECKING when omitted.
                                city:
                                  type: string
                                  description: >-
                                    City of the recipient. REQUIRED for this
                                    rail — provide it here or in
                                    destinationUserData.city.
                                postalCode:
                                  type: string
                                  description: >-
                                    Postal code of the recipient. REQUIRED for
                                    this rail — provide it here or in
                                    destinationUserData.postalCode.
                                state:
                                  type: string
                                  pattern: ^[A-Z]{2}$
                                  description: >-
                                    Two-letter US state code of the recipient
                                    (e.g. NY). REQUIRED for this rail.
                                address:
                                  type: string
                                  description: >-
                                    Street address (line 1) of the recipient.
                                    Forwarded as payee address when creating the
                                    payee.
                                type:
                                  type: string
                                  enum:
                                    - ACH_US
                              required:
                                - destinationName
                                - accountNumber
                                - routingNumber
                                - state
                                - type
                              description: USD ACH transfer details
                              title: AchUS
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - linkedBankAccount
                                accountLinkId:
                                  type: string
                                  pattern: ^alnk_[0-9a-f]{24}$
                                  description: >-
                                    Identifier of one of the account holder own
                                    linked bank accounts
                                  examples:
                                    - alnk_0123456789abcdef01234567
                              required:
                                - type
                                - accountLinkId
                              description: >-
                                A bank account the account holder linked
                                beforehand. Pays out only to the holder of the
                                order; never to a third party. Not available
                                yet.
                              title: LinkedBankAccount
                              deprecated: true
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ETH
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: ETH destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: ETH
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - MATIC
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: MATIC destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: MATIC
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - SOL
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: SOL destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: SOL
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - TRON
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: TRON destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: TRON
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - CELO
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: CELO destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: CELO
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - BTC
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: BTC destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: BTC
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - SOLANA
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: SOLANA destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: SOLANA
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - XRP
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: XRP destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: XRP
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - CARDANO
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: CARDANO destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: CARDANO
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - BSC
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: BSC destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: BSC
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ARBITRUM
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: ARBITRUM destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: ARBITRUM
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - OPTIMISM
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: OPTIMISM destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: OPTIMISM
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - AVALANCHE
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: AVALANCHE destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: AVALANCHE
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - BASE
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: BASE destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: BASE
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id from GET
                                    /v1/currencies/COP/networks. Not read by the
                                    payout; retained for the network selector
                                    and for stored records.
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_COL
                                destinationBankCode:
                                  type: string
                                  description: >-
                                    Recipient bank code — one of the 4-digit
                                    codes published by GET
                                    /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                    (the code, not the name). Required when
                                    creating or updating a destination.
                                destinationBankAccountType:
                                  type: string
                                  description: >-
                                    Bank account type — CORRIENTE or AHORRO.
                                    Required when creating or updating a
                                    destination.
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    Recipient ID document number. Required when
                                    creating or updating a destination.
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Recipient ID document type — CC, CE, NIT, TI
                                    or PP. Required when creating or updating a
                                    destination.
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Colombian bank deposit details. Equivalent to
                                ACH_COP — same payout rail, same required
                                fields, same bank roster; ACH_COP is recommended
                                for new integrations. Note that BANK_DEPOSIT_COL
                                is also the name of a COP collection rail.
                              title: Bank Deposit COL
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                brebKey:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Bre-B key (llave) that identifies the
                                    recipient account
                                email:
                                  type: string
                                  description: >-
                                    Recipient email (optional contact for the
                                    Bre-B rail)
                                destinationPhoneNumber:
                                  type: string
                                  description: >-
                                    Recipient phone number (optional contact for
                                    the Bre-B rail)
                                type:
                                  type: string
                                  enum:
                                    - BRE_B_COP
                              required:
                                - destinationName
                                - brebKey
                                - type
                              description: Colombian Bre-B payout details
                              title: Bre-B COP
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  pattern: ^\d{4}$
                                  description: >-
                                    Recipient bank code — one of the 4-digit
                                    codes published by GET
                                    /v1/currencies/COP/destination-schema?method=achCOP
                                    (the code, not the name)
                                destinationBankAccountNumber:
                                  type: string
                                  minLength: 1
                                  description: Recipient bank account number
                                destinationBankAccountType:
                                  type: string
                                  minLength: 1
                                  description: Bank account type (e.g. AHORROS / CORRIENTE)
                                destinationDocumentType:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Recipient ID document type (e.g. CC / CE /
                                    NIT)
                                destinationTaxId:
                                  type: string
                                  minLength: 1
                                  description: Recipient ID document number
                                type:
                                  type: string
                                  enum:
                                    - ACH_COP
                              required:
                                - destinationName
                                - destinationBankCode
                                - destinationBankAccountNumber
                                - destinationBankAccountType
                                - destinationDocumentType
                                - destinationTaxId
                                - type
                              description: Colombian ACH payout details
                              title: ACH COP
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (unused for TWD — no
                                    network discovery)
                                destinationBankName:
                                  type: string
                                  minLength: 2
                                  description: >-
                                    Bank name (required — TWD payouts run over
                                    SWIFT)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_TW
                                destinationBankBranch:
                                  type: string
                                  minLength: 2
                                  description: >-
                                    Bank branch (required — TWD payouts run over
                                    SWIFT)
                                bic:
                                  type: string
                                  pattern: >-
                                    ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                                  description: SWIFT BIC code (required for TWD payouts)
                                destinationBankAccountType:
                                  type: string
                                  description: Type of bank account (legacy, optional)
                                destinationTaxId:
                                  type: string
                                  description: Tax ID of the recipient (legacy, optional)
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Document type of the recipient (legacy,
                                    optional)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationBankName
                                - type
                                - destinationBankBranch
                                - bic
                              description: Taiwan bank deposit details (SWIFT payout)
                              title: Bank Deposit TW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  description: Bank code
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationBankBranch:
                                  type: string
                                  description: Bank branch
                                destinationTaxId:
                                  type: string
                                  description: Tax ID of the recipient
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_BR
                              required:
                                - destinationName
                                - destinationBankCode
                                - destinationBankAccount
                                - destinationBankBranch
                                - destinationTaxId
                                - type
                              description: Brazilian bank deposit details
                              title: Bank Deposit BR
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPixCode:
                                  type: string
                                  description: PIX code
                                destinationTaxId:
                                  type: string
                                  description: Tax ID of the recipient
                                type:
                                  type: string
                                  enum:
                                    - PIX_BR
                              required:
                                - destinationName
                                - destinationPixCode
                                - destinationTaxId
                                - type
                              description: Brazilian PIX details
                              title: PIX BR
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccountNumber:
                                  type: string
                                  description: Bank account number
                                destinationBankName:
                                  type: string
                                  description: Name of the bank
                                destinationTaxId:
                                  type: string
                                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                  description: Tax ID of the recipient
                                destinationBankAccountType:
                                  type: string
                                  description: Type of bank account
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_VEN
                              required:
                                - destinationName
                                - destinationBankAccountNumber
                                - destinationBankName
                                - destinationTaxId
                                - destinationBankAccountType
                                - type
                              description: Venezuelan bank deposit details
                              title: Bank Deposit VEN
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  description: Bank code
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationTaxId:
                                  type: string
                                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                  description: Tax ID of the recipient
                                destinationBankAccountType:
                                  type: string
                                  description: Type of bank account
                                type:
                                  type: string
                                  enum:
                                    - PHONE_DEPOSIT_VEN
                              required:
                                - destinationName
                                - destinationBankCode
                                - destinationPhoneNumber
                                - destinationTaxId
                                - destinationBankAccountType
                                - type
                              description: Venezuelan phone deposit details
                              title: Phone Deposit VEN
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_IN
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                India bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit IN
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - IMPS
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                India IMPS details. Deprecated — no active
                                payout corridor for this method; orders using it
                                are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: IMPS
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - THAI_QR
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Thailand Thai QR details. Deprecated — no active
                                payout corridor for this method; orders using it
                                are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Thai QR
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - VIET_QR
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Vietnam Viet QR details. Deprecated — no active
                                payout corridor for this method; orders using it
                                are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Viet QR
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - GCASH
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Philippines GCash details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: GCash
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationTaxId:
                                  type: string
                                  description: Tax ID
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_PAYMENT_IN
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - destinationTaxId
                                - type
                              description: >-
                                India mobile payment details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Mobile Payment IN
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationBankCode:
                                  type: string
                                  description: Bank code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_VN
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationBankCode
                                - type
                              description: >-
                                Vietnam bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit VN
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                bic:
                                  type: string
                                  description: >-
                                    SWIFT BIC code (required for HKD payouts via
                                    the HK bank corridor)
                                destinationBankName:
                                  type: string
                                  description: Bank name
                                destinationAddress:
                                  type: string
                                  description: Address line 1 of the recipient
                                destinationCity:
                                  type: string
                                  description: Recipient city (defaults to Hong Kong)
                                accountHolderName:
                                  type: string
                                  description: >-
                                    Bank account holder name if different from
                                    payee
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_HK
                              required:
                                - destinationName
                                - destinationBankAccount
                                - bic
                                - destinationBankName
                                - destinationAddress
                                - type
                              description: >-
                                Hong Kong bank deposit details (HKD bank
                                corridor)
                              title: Bank Deposit HK
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationBankCode:
                                  type: string
                                  pattern: ^\d+$
                                  description: >-
                                    CNAPS / bank institution code (numeric,
                                    variable length)
                                destinationBankName:
                                  type: string
                                  description: Bank name
                                destinationAddress:
                                  type: string
                                  description: Address line 1 of the recipient
                                destinationCity:
                                  type: string
                                  description: Recipient city
                                destinationState:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Province / state of the recipient (required
                                    for CN — the beneficiary is rejected in
                                    compliance review without it)
                                destinationPostcode:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Postal code of the recipient (required for
                                    CN — the beneficiary is rejected in
                                    compliance review without it)
                                destinationPhone:
                                  type: string
                                  description: >-
                                    Phone number of the recipient, without
                                    country prefix (optional; defaulted for CN
                                    when omitted)
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    Unified Social Credit Code (USCC, GB
                                    32100-2015) of the recipient company — 18
                                    characters including the check digit;
                                    whitespace is removed and letters are
                                    normalized to uppercase (optional)
                                accountHolderName:
                                  type: string
                                  description: >-
                                    Bank account holder name if different from
                                    payee
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_CN
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationBankCode
                                - destinationBankName
                                - destinationAddress
                                - destinationCity
                                - destinationState
                                - destinationPostcode
                                - type
                              description: >-
                                China mainland bank deposit details (CNY bank
                                corridor)
                              title: Bank Deposit CN
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id from GET
                                    /v1/currencies/ARS/networks (the network
                                    selector, optional)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_AR
                                destinationCBU:
                                  type: string
                                  description: >-
                                    CBU — 22-digit bank account key (legacy,
                                    optional)
                                destinationCVU:
                                  type: string
                                  description: >-
                                    CVU — 22-digit virtual account key (legacy,
                                    optional)
                                destinationAlias:
                                  type: string
                                  description: Account alias (legacy, optional)
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    CUIT/CUIL tax ID of the recipient (required
                                    when creating ARS bank destinations):
                                    exactly 11 digits with no hyphens, spaces or
                                    other characters, and a valid check digit
                                    (e.g. 20000000001)
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Document type of the recipient (legacy,
                                    optional)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Argentinian bank deposit details
                              title: Bank Deposit AR
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Recipient bank name (required for Chilean
                                    bank payouts)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_CL
                                destinationBankAccountType:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Account type — corriente or ahorro (required
                                    for Chilean bank payouts)
                                destinationTaxId:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    RUT tax ID of the recipient (required for
                                    Chilean bank payouts)
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Document type of the recipient (legacy,
                                    optional)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationBankName
                                - type
                                - destinationBankAccountType
                                - destinationTaxId
                              description: Chilean bank deposit details
                              title: Bank Deposit CL
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  minLength: 2
                                  maxLength: 30
                                  description: Recipient name (required, 2–30 characters)
                                destinationBankAccount:
                                  type: string
                                  minLength: 1
                                  maxLength: 11
                                  description: >-
                                    Bank account number (max 11 digits for
                                    Bolivian accounts)
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (unused for BOB — no
                                    network discovery)
                                destinationBankName:
                                  type: string
                                  maxLength: 20
                                  description: Bank name (optional, max 20 characters)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_BO
                                destinationTaxId:
                                  type: string
                                  minLength: 1
                                  maxLength: 15
                                  description: >-
                                    NIT tax ID of the recipient (required for
                                    Bolivian payouts)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                                - destinationTaxId
                              description: Bolivian bank deposit details
                              title: Bank Deposit BO
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id from GET
                                    /v1/currencies/PEN/networks (the network
                                    selector)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_PE
                                destinationCCI:
                                  type: string
                                  description: >-
                                    CCI — 20-digit interbank account code
                                    (legacy, optional)
                                destinationBankAccountType:
                                  type: string
                                  description: >-
                                    Account type (corriente/ahorro) (legacy,
                                    optional)
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    DNI/RUC document ID of the recipient
                                    (legacy, optional)
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Document type of the recipient (legacy,
                                    optional)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationNetworkId
                                - type
                              description: >-
                                Peruvian bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit PE
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  pattern: ^\d{3}$
                                  description: >-
                                    Recipient bank code (the 3-digit code the
                                    rail expects, not the name)
                                destinationBankAccountNumber:
                                  type: string
                                  minLength: 1
                                  maxLength: 20
                                  description: Recipient bank account number (max 20)
                                destinationBankAccountType:
                                  type: string
                                  enum:
                                    - CORRIENTE
                                    - AHORROS
                                    - PHONE
                                  description: Bank account type
                                destinationCCI:
                                  type: string
                                  pattern: ^\d{1,20}$
                                  description: >-
                                    CCI — Peruvian interbank code (required,
                                    digits only, max 20)
                                destinationDocumentType:
                                  type: string
                                  enum:
                                    - CC
                                    - CE
                                    - RUC
                                    - PAS
                                    - PAR
                                    - LMI
                                    - OTHER
                                  description: Recipient identification type
                                destinationTaxId:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                  description: Recipient identification number (max 50)
                                email:
                                  type: string
                                  pattern: ^.+@.+\..+$
                                  description: Recipient email (required for PEN payouts)
                                destinationPhoneNumber:
                                  type: string
                                  pattern: ^\d{1,9}$
                                  description: >-
                                    Recipient phone number (required, max 9
                                    digits)
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_PEN
                              required:
                                - destinationName
                                - destinationBankCode
                                - destinationBankAccountNumber
                                - destinationBankAccountType
                                - destinationCCI
                                - destinationDocumentType
                                - destinationTaxId
                                - email
                                - destinationPhoneNumber
                                - type
                              description: >-
                                Peruvian bank deposit details (bank-code payout
                                corridor).
                              title: Bank Deposit PEN
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_NG
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Nigeria bank deposit details
                              title: Bank Deposit NG
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_KE
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Kenya bank deposit details
                              title: Bank Deposit KE
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_GH
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Ghana bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit GH
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_ZA
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: South Africa bank deposit details
                              title: Bank Deposit ZA
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_TZ
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Tanzania bank deposit details
                              title: Bank Deposit TZ
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_UG
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Uganda bank deposit details
                              title: Bank Deposit UG
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_RW
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Rwanda bank deposit details
                              title: Bank Deposit RW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_MW
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Malawi bank deposit details
                              title: Bank Deposit MW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_ZM
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Zambia bank deposit details
                              title: Bank Deposit ZM
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_BW
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Botswana bank deposit details
                              title: Bank Deposit BW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_CD
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                DR Congo bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit CD
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_XOF
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: West African CFA bank deposit details
                              title: Bank Deposit XOF
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_XAF
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Central African CFA bank deposit details
                              title: Bank Deposit XAF
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_NG
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Nigeria mobile money details
                              title: Mobile Money NG
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_KE
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Kenya mobile money details
                              title: Mobile Money KE
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_GH
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: >-
                                Ghana mobile money details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Mobile Money GH
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_ZA
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: South Africa mobile money details
                              title: Mobile Money ZA
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_TZ
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Tanzania mobile money details
                              title: Mobile Money TZ
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_UG
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Uganda mobile money details
                              title: Mobile Money UG
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_RW
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Rwanda mobile money details
                              title: Mobile Money RW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_MW
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Malawi mobile money details
                              title: Mobile Money MW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_ZM
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Zambia mobile money details
                              title: Mobile Money ZM
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_BW
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Botswana mobile money details
                              title: Mobile Money BW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_CD
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: >-
                                DR Congo mobile money details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Mobile Money CD
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_XOF
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: West African CFA mobile money details
                              title: Mobile Money XOF
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_XAF
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Central African CFA mobile money details
                              title: Mobile Money XAF
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  description: Bank code
                                destinationBankAccountNumber:
                                  type: string
                                  description: Bank account number (18-digit CLABE)
                                numericReference:
                                  type: string
                                  description: Numeric reference
                                notesReference:
                                  type: string
                                  description: Notes reference
                                destinationClabe:
                                  type: string
                                  description: >-
                                    CLABE — legacy alias, prefer
                                    destinationBankAccountNumber
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    Recipient tax id (RFC) — required by some MX
                                    bank-deposit rails ("Número de
                                    Identificación"); optional otherwise
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_MX
                              required:
                                - destinationName
                                - destinationBankAccountNumber
                                - type
                              description: Mexican bank deposit details
                              title: Bank Deposit MX
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPseNumber:
                                  type: string
                                  description: PSE number
                                type:
                                  type: string
                                  enum:
                                    - PSE
                              required:
                                - destinationName
                                - destinationPseNumber
                                - type
                              description: >-
                                PSE transfer details. Deprecated — no active
                                payout corridor for this method; orders using it
                                are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: PSE
                              deprecated: true
                          description: >-
                            The details required for the end user destination
                            transfer method.
                        status:
                          anyOf:
                            - type: string
                              enum:
                                - Pending
                                - Processing
                                - Success
                                - Failed
                                - Canceled
                                - Reviewing
                              description: >-
                                Common status values that are shared across all
                                operation types
                              examples:
                                - Pending
                                - Processing
                                - Success
                                - Failed
                                - Canceled
                                - Reviewing
                            - type: string
                              enum:
                                - PendingCancel
                                - PendingWithdrawal
                                - PendingVerification
                                - Pending2FA
                                - Compliance
                                - Accepted
                                - Approved
                                - Rejected
                                - Review
                          description: Status of the withdrawal
                          examples:
                            - Pending
                            - Pending2FA
                            - Compliance
                            - Accepted
                            - Approved
                            - Success
                            - Failed
                            - Review
                            - Rejected
                        withdrawalInfo:
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - BALANCE
                              required:
                                - type
                              description: Balance transfer details
                              title: Balance
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                iban:
                                  type: string
                                  description: IBAN number
                                bic:
                                  type: string
                                  description: BIC number (optional)
                                country:
                                  type: string
                                  description: Country code
                                accountType:
                                  type: string
                                  enum:
                                    - PERSONAL
                                    - BUSINESS
                                  default: PERSONAL
                                  description: Account type (optional)
                                city:
                                  type: string
                                  description: >-
                                    City of the recipient. REQUIRED for SEPA
                                    payouts — provide it here or in
                                    destinationUserData.city.
                                postalCode:
                                  type: string
                                  description: >-
                                    Postal code of the recipient. REQUIRED for
                                    SEPA payouts — provide it here or in
                                    destinationUserData.postalCode.
                                address:
                                  type: string
                                  description: >-
                                    Street address (line 1) of the recipient.
                                    Forwarded as the payout beneficiary
                                    `address.line1` when registering the
                                    beneficiary. Stored on the saved transaction
                                    method so the user does not have to
                                    re-supply it on every withdraw.
                                type:
                                  type: string
                                  enum:
                                    - SEPA
                              required:
                                - destinationName
                                - iban
                                - country
                                - type
                              description: SEPA transfer details
                              title: SEPA
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                accountNumber:
                                  type: string
                                  description: UK bank account number
                                sortCode:
                                  type: string
                                  description: UK sort code
                                country:
                                  type: string
                                  enum:
                                    - GB
                                  default: GB
                                  description: >-
                                    ISO 3166 country code of the recipient (GBP
                                    transfer is UK-based)
                                accountType:
                                  type: string
                                  enum:
                                    - PERSONAL
                                    - BUSINESS
                                  default: PERSONAL
                                  description: Account type (optional)
                                city:
                                  type: string
                                  description: >-
                                    City of the recipient. REQUIRED for this
                                    rail — provide it here or in
                                    destinationUserData.city.
                                postalCode:
                                  type: string
                                  description: >-
                                    Postal code of the recipient. REQUIRED for
                                    this rail — provide it here or in
                                    destinationUserData.postalCode.
                                address:
                                  type: string
                                  description: >-
                                    Street address (line 1) of the recipient.
                                    Forwarded as payee address when creating the
                                    payee.
                                type:
                                  type: string
                                  enum:
                                    - GBP_BANK_TRANSFER
                              required:
                                - destinationName
                                - accountNumber
                                - sortCode
                                - type
                              description: GBP domestic bank transfer details
                              title: BankDepositGB
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                accountNumber:
                                  type: string
                                  description: US bank account number
                                routingNumber:
                                  type: string
                                  description: US ABA routing number
                                country:
                                  type: string
                                  enum:
                                    - US
                                  default: US
                                  description: >-
                                    ISO 3166 country code of the recipient (ACH
                                    is US-domestic)
                                accountType:
                                  type: string
                                  enum:
                                    - PERSONAL
                                    - BUSINESS
                                  default: PERSONAL
                                  description: Account type (optional)
                                bankAccountType:
                                  type: string
                                  enum:
                                    - CHECKING
                                    - SAVINGS
                                  default: CHECKING
                                  description: >-
                                    Kind of bank account the payout lands in.
                                    Defaults to CHECKING when omitted.
                                city:
                                  type: string
                                  description: >-
                                    City of the recipient. REQUIRED for this
                                    rail — provide it here or in
                                    destinationUserData.city.
                                postalCode:
                                  type: string
                                  description: >-
                                    Postal code of the recipient. REQUIRED for
                                    this rail — provide it here or in
                                    destinationUserData.postalCode.
                                state:
                                  type: string
                                  pattern: ^[A-Z]{2}$
                                  description: >-
                                    Two-letter US state code of the recipient
                                    (e.g. NY). REQUIRED for this rail.
                                address:
                                  type: string
                                  description: >-
                                    Street address (line 1) of the recipient.
                                    Forwarded as payee address when creating the
                                    payee.
                                type:
                                  type: string
                                  enum:
                                    - ACH_US
                              required:
                                - destinationName
                                - accountNumber
                                - routingNumber
                                - state
                                - type
                              description: USD ACH transfer details
                              title: AchUS
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - linkedBankAccount
                                accountLinkId:
                                  type: string
                                  pattern: ^alnk_[0-9a-f]{24}$
                                  description: >-
                                    Identifier of one of the account holder own
                                    linked bank accounts
                                  examples:
                                    - alnk_0123456789abcdef01234567
                              required:
                                - type
                                - accountLinkId
                              description: >-
                                A bank account the account holder linked
                                beforehand. Pays out only to the holder of the
                                order; never to a third party. Not available
                                yet.
                              title: LinkedBankAccount
                              deprecated: true
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ETH
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: ETH destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: ETH
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - MATIC
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: MATIC destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: MATIC
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - SOL
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: SOL destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: SOL
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - TRON
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: TRON destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: TRON
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - CELO
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: CELO destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: CELO
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - BTC
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: BTC destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: BTC
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - SOLANA
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: SOLANA destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: SOLANA
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - XRP
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: XRP destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: XRP
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - CARDANO
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: CARDANO destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: \S
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: \S
                              title: CARDANO
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - BSC
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: BSC destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: BSC
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ARBITRUM
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: ARBITRUM destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: ARBITRUM
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - OPTIMISM
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: OPTIMISM destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: OPTIMISM
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - AVALANCHE
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: AVALANCHE destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: AVALANCHE
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - BASE
                                address:
                                  type: string
                                  description: >-
                                    Destination wallet address. Send this rather
                                    than the legacy `destinationWalletAddress` —
                                    at least one of the two is required, and a
                                    payload carrying neither is rejected. On EVM
                                    chains the address is "0x" followed by 40
                                    hex characters.
                                memo:
                                  type: string
                                  description: Memo for the wallet, when the chain uses one
                                txId:
                                  type: string
                                  description: Blockchain transaction ID
                                txUrlScan:
                                  type: string
                                  description: Blockchain explorer URL for the transaction
                                destinationWalletAddress:
                                  type: string
                                  description: >-
                                    Destination wallet address (legacy shape).
                                    Still accepted, but send `address` instead —
                                    at least one of the two is required and
                                    supplying neither is rejected.
                                destinationWalletMemo:
                                  type: string
                                  description: >-
                                    Memo for the wallet (legacy shape) — send
                                    `memo` instead
                                destinationNetwork:
                                  type: string
                                  description: >-
                                    Network name, when the corridor addresses
                                    the chain by name rather than by `type`
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Network id from GET
                                    /v1/currencies/{currency}/networks, for
                                    corridors where `supportsNetworkDiscovery`
                                    is true
                                destinationCurrencySymbol:
                                  type: string
                                  description: >-
                                    Asset symbol on the chain. `type` names the
                                    chain, so this is what separates the native
                                    coin from tokens on it — ETH from
                                    USDC-on-Ethereum.
                              required:
                                - type
                              description: BASE destination details
                              anyOf:
                                - required:
                                    - address
                                  properties:
                                    address:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                - required:
                                    - destinationWalletAddress
                                  properties:
                                    destinationWalletAddress:
                                      pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              title: BASE
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id from GET
                                    /v1/currencies/COP/networks. Not read by the
                                    payout; retained for the network selector
                                    and for stored records.
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_COL
                                destinationBankCode:
                                  type: string
                                  description: >-
                                    Recipient bank code — one of the 4-digit
                                    codes published by GET
                                    /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                    (the code, not the name). Required when
                                    creating or updating a destination.
                                destinationBankAccountType:
                                  type: string
                                  description: >-
                                    Bank account type — CORRIENTE or AHORRO.
                                    Required when creating or updating a
                                    destination.
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    Recipient ID document number. Required when
                                    creating or updating a destination.
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Recipient ID document type — CC, CE, NIT, TI
                                    or PP. Required when creating or updating a
                                    destination.
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Colombian bank deposit details. Equivalent to
                                ACH_COP — same payout rail, same required
                                fields, same bank roster; ACH_COP is recommended
                                for new integrations. Note that BANK_DEPOSIT_COL
                                is also the name of a COP collection rail.
                              title: Bank Deposit COL
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                brebKey:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Bre-B key (llave) that identifies the
                                    recipient account
                                email:
                                  type: string
                                  description: >-
                                    Recipient email (optional contact for the
                                    Bre-B rail)
                                destinationPhoneNumber:
                                  type: string
                                  description: >-
                                    Recipient phone number (optional contact for
                                    the Bre-B rail)
                                type:
                                  type: string
                                  enum:
                                    - BRE_B_COP
                              required:
                                - destinationName
                                - brebKey
                                - type
                              description: Colombian Bre-B payout details
                              title: Bre-B COP
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  pattern: ^\d{4}$
                                  description: >-
                                    Recipient bank code — one of the 4-digit
                                    codes published by GET
                                    /v1/currencies/COP/destination-schema?method=achCOP
                                    (the code, not the name)
                                destinationBankAccountNumber:
                                  type: string
                                  minLength: 1
                                  description: Recipient bank account number
                                destinationBankAccountType:
                                  type: string
                                  minLength: 1
                                  description: Bank account type (e.g. AHORROS / CORRIENTE)
                                destinationDocumentType:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Recipient ID document type (e.g. CC / CE /
                                    NIT)
                                destinationTaxId:
                                  type: string
                                  minLength: 1
                                  description: Recipient ID document number
                                type:
                                  type: string
                                  enum:
                                    - ACH_COP
                              required:
                                - destinationName
                                - destinationBankCode
                                - destinationBankAccountNumber
                                - destinationBankAccountType
                                - destinationDocumentType
                                - destinationTaxId
                                - type
                              description: Colombian ACH payout details
                              title: ACH COP
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (unused for TWD — no
                                    network discovery)
                                destinationBankName:
                                  type: string
                                  minLength: 2
                                  description: >-
                                    Bank name (required — TWD payouts run over
                                    SWIFT)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_TW
                                destinationBankBranch:
                                  type: string
                                  minLength: 2
                                  description: >-
                                    Bank branch (required — TWD payouts run over
                                    SWIFT)
                                bic:
                                  type: string
                                  pattern: >-
                                    ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                                  description: SWIFT BIC code (required for TWD payouts)
                                destinationBankAccountType:
                                  type: string
                                  description: Type of bank account (legacy, optional)
                                destinationTaxId:
                                  type: string
                                  description: Tax ID of the recipient (legacy, optional)
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Document type of the recipient (legacy,
                                    optional)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationBankName
                                - type
                                - destinationBankBranch
                                - bic
                              description: Taiwan bank deposit details (SWIFT payout)
                              title: Bank Deposit TW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  description: Bank code
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationBankBranch:
                                  type: string
                                  description: Bank branch
                                destinationTaxId:
                                  type: string
                                  description: Tax ID of the recipient
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_BR
                              required:
                                - destinationName
                                - destinationBankCode
                                - destinationBankAccount
                                - destinationBankBranch
                                - destinationTaxId
                                - type
                              description: Brazilian bank deposit details
                              title: Bank Deposit BR
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPixCode:
                                  type: string
                                  description: PIX code
                                destinationTaxId:
                                  type: string
                                  description: Tax ID of the recipient
                                type:
                                  type: string
                                  enum:
                                    - PIX_BR
                              required:
                                - destinationName
                                - destinationPixCode
                                - destinationTaxId
                                - type
                              description: Brazilian PIX details
                              title: PIX BR
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccountNumber:
                                  type: string
                                  description: Bank account number
                                destinationBankName:
                                  type: string
                                  description: Name of the bank
                                destinationTaxId:
                                  type: string
                                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                  description: Tax ID of the recipient
                                destinationBankAccountType:
                                  type: string
                                  description: Type of bank account
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_VEN
                              required:
                                - destinationName
                                - destinationBankAccountNumber
                                - destinationBankName
                                - destinationTaxId
                                - destinationBankAccountType
                                - type
                              description: Venezuelan bank deposit details
                              title: Bank Deposit VEN
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  description: Bank code
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationTaxId:
                                  type: string
                                  pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                  description: Tax ID of the recipient
                                destinationBankAccountType:
                                  type: string
                                  description: Type of bank account
                                type:
                                  type: string
                                  enum:
                                    - PHONE_DEPOSIT_VEN
                              required:
                                - destinationName
                                - destinationBankCode
                                - destinationPhoneNumber
                                - destinationTaxId
                                - destinationBankAccountType
                                - type
                              description: Venezuelan phone deposit details
                              title: Phone Deposit VEN
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_IN
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                India bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit IN
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - IMPS
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                India IMPS details. Deprecated — no active
                                payout corridor for this method; orders using it
                                are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: IMPS
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - THAI_QR
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Thailand Thai QR details. Deprecated — no active
                                payout corridor for this method; orders using it
                                are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Thai QR
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - VIET_QR
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Vietnam Viet QR details. Deprecated — no active
                                payout corridor for this method; orders using it
                                are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Viet QR
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationIFSC:
                                  type: string
                                  description: IFSC code
                                type:
                                  type: string
                                  enum:
                                    - GCASH
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Philippines GCash details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: GCash
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationTaxId:
                                  type: string
                                  description: Tax ID
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_PAYMENT_IN
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - destinationTaxId
                                - type
                              description: >-
                                India mobile payment details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Mobile Payment IN
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationBankCode:
                                  type: string
                                  description: Bank code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_VN
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationBankCode
                                - type
                              description: >-
                                Vietnam bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit VN
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                bic:
                                  type: string
                                  description: >-
                                    SWIFT BIC code (required for HKD payouts via
                                    the HK bank corridor)
                                destinationBankName:
                                  type: string
                                  description: Bank name
                                destinationAddress:
                                  type: string
                                  description: Address line 1 of the recipient
                                destinationCity:
                                  type: string
                                  description: Recipient city (defaults to Hong Kong)
                                accountHolderName:
                                  type: string
                                  description: >-
                                    Bank account holder name if different from
                                    payee
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_HK
                              required:
                                - destinationName
                                - destinationBankAccount
                                - bic
                                - destinationBankName
                                - destinationAddress
                                - type
                              description: >-
                                Hong Kong bank deposit details (HKD bank
                                corridor)
                              title: Bank Deposit HK
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationBankCode:
                                  type: string
                                  pattern: ^\d+$
                                  description: >-
                                    CNAPS / bank institution code (numeric,
                                    variable length)
                                destinationBankName:
                                  type: string
                                  description: Bank name
                                destinationAddress:
                                  type: string
                                  description: Address line 1 of the recipient
                                destinationCity:
                                  type: string
                                  description: Recipient city
                                destinationState:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Province / state of the recipient (required
                                    for CN — the beneficiary is rejected in
                                    compliance review without it)
                                destinationPostcode:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Postal code of the recipient (required for
                                    CN — the beneficiary is rejected in
                                    compliance review without it)
                                destinationPhone:
                                  type: string
                                  description: >-
                                    Phone number of the recipient, without
                                    country prefix (optional; defaulted for CN
                                    when omitted)
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    Unified Social Credit Code (USCC, GB
                                    32100-2015) of the recipient company — 18
                                    characters including the check digit;
                                    whitespace is removed and letters are
                                    normalized to uppercase (optional)
                                accountHolderName:
                                  type: string
                                  description: >-
                                    Bank account holder name if different from
                                    payee
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_CN
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationBankCode
                                - destinationBankName
                                - destinationAddress
                                - destinationCity
                                - destinationState
                                - destinationPostcode
                                - type
                              description: >-
                                China mainland bank deposit details (CNY bank
                                corridor)
                              title: Bank Deposit CN
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id from GET
                                    /v1/currencies/ARS/networks (the network
                                    selector, optional)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_AR
                                destinationCBU:
                                  type: string
                                  description: >-
                                    CBU — 22-digit bank account key (legacy,
                                    optional)
                                destinationCVU:
                                  type: string
                                  description: >-
                                    CVU — 22-digit virtual account key (legacy,
                                    optional)
                                destinationAlias:
                                  type: string
                                  description: Account alias (legacy, optional)
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    CUIT/CUIL tax ID of the recipient (required
                                    when creating ARS bank destinations):
                                    exactly 11 digits with no hyphens, spaces or
                                    other characters, and a valid check digit
                                    (e.g. 20000000001)
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Document type of the recipient (legacy,
                                    optional)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Argentinian bank deposit details
                              title: Bank Deposit AR
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Recipient bank name (required for Chilean
                                    bank payouts)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_CL
                                destinationBankAccountType:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Account type — corriente or ahorro (required
                                    for Chilean bank payouts)
                                destinationTaxId:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    RUT tax ID of the recipient (required for
                                    Chilean bank payouts)
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Document type of the recipient (legacy,
                                    optional)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationBankName
                                - type
                                - destinationBankAccountType
                                - destinationTaxId
                              description: Chilean bank deposit details
                              title: Bank Deposit CL
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  minLength: 2
                                  maxLength: 30
                                  description: Recipient name (required, 2–30 characters)
                                destinationBankAccount:
                                  type: string
                                  minLength: 1
                                  maxLength: 11
                                  description: >-
                                    Bank account number (max 11 digits for
                                    Bolivian accounts)
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (unused for BOB — no
                                    network discovery)
                                destinationBankName:
                                  type: string
                                  maxLength: 20
                                  description: Bank name (optional, max 20 characters)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_BO
                                destinationTaxId:
                                  type: string
                                  minLength: 1
                                  maxLength: 15
                                  description: >-
                                    NIT tax ID of the recipient (required for
                                    Bolivian payouts)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                                - destinationTaxId
                              description: Bolivian bank deposit details
                              title: Bank Deposit BO
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id from GET
                                    /v1/currencies/PEN/networks (the network
                                    selector)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_PE
                                destinationCCI:
                                  type: string
                                  description: >-
                                    CCI — 20-digit interbank account code
                                    (legacy, optional)
                                destinationBankAccountType:
                                  type: string
                                  description: >-
                                    Account type (corriente/ahorro) (legacy,
                                    optional)
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    DNI/RUC document ID of the recipient
                                    (legacy, optional)
                                destinationDocumentType:
                                  type: string
                                  description: >-
                                    Document type of the recipient (legacy,
                                    optional)
                              required:
                                - destinationName
                                - destinationBankAccount
                                - destinationNetworkId
                                - type
                              description: >-
                                Peruvian bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit PE
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  pattern: ^\d{3}$
                                  description: >-
                                    Recipient bank code (the 3-digit code the
                                    rail expects, not the name)
                                destinationBankAccountNumber:
                                  type: string
                                  minLength: 1
                                  maxLength: 20
                                  description: Recipient bank account number (max 20)
                                destinationBankAccountType:
                                  type: string
                                  enum:
                                    - CORRIENTE
                                    - AHORROS
                                    - PHONE
                                  description: Bank account type
                                destinationCCI:
                                  type: string
                                  pattern: ^\d{1,20}$
                                  description: >-
                                    CCI — Peruvian interbank code (required,
                                    digits only, max 20)
                                destinationDocumentType:
                                  type: string
                                  enum:
                                    - CC
                                    - CE
                                    - RUC
                                    - PAS
                                    - PAR
                                    - LMI
                                    - OTHER
                                  description: Recipient identification type
                                destinationTaxId:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                  description: Recipient identification number (max 50)
                                email:
                                  type: string
                                  pattern: ^.+@.+\..+$
                                  description: Recipient email (required for PEN payouts)
                                destinationPhoneNumber:
                                  type: string
                                  pattern: ^\d{1,9}$
                                  description: >-
                                    Recipient phone number (required, max 9
                                    digits)
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_PEN
                              required:
                                - destinationName
                                - destinationBankCode
                                - destinationBankAccountNumber
                                - destinationBankAccountType
                                - destinationCCI
                                - destinationDocumentType
                                - destinationTaxId
                                - email
                                - destinationPhoneNumber
                                - type
                              description: >-
                                Peruvian bank deposit details (bank-code payout
                                corridor).
                              title: Bank Deposit PEN
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_NG
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Nigeria bank deposit details
                              title: Bank Deposit NG
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_KE
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Kenya bank deposit details
                              title: Bank Deposit KE
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_GH
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                Ghana bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit GH
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_ZA
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: South Africa bank deposit details
                              title: Bank Deposit ZA
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_TZ
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Tanzania bank deposit details
                              title: Bank Deposit TZ
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_UG
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Uganda bank deposit details
                              title: Bank Deposit UG
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_RW
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Rwanda bank deposit details
                              title: Bank Deposit RW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_MW
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Malawi bank deposit details
                              title: Bank Deposit MW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_ZM
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Zambia bank deposit details
                              title: Bank Deposit ZM
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_BW
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Botswana bank deposit details
                              title: Bank Deposit BW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_CD
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: >-
                                DR Congo bank deposit details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Bank Deposit CD
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_XOF
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: West African CFA bank deposit details
                              title: Bank Deposit XOF
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankAccount:
                                  type: string
                                  description: Bank account
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationBankName is given)
                                destinationBankName:
                                  type: string
                                  description: >-
                                    Bank name (used to resolve the network when
                                    id is omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_XAF
                              required:
                                - destinationName
                                - destinationBankAccount
                                - type
                              description: Central African CFA bank deposit details
                              title: Bank Deposit XAF
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_NG
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Nigeria mobile money details
                              title: Mobile Money NG
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_KE
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Kenya mobile money details
                              title: Mobile Money KE
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_GH
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: >-
                                Ghana mobile money details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Mobile Money GH
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_ZA
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: South Africa mobile money details
                              title: Mobile Money ZA
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_TZ
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Tanzania mobile money details
                              title: Mobile Money TZ
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_UG
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Uganda mobile money details
                              title: Mobile Money UG
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_RW
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Rwanda mobile money details
                              title: Mobile Money RW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_MW
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Malawi mobile money details
                              title: Mobile Money MW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_ZM
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Zambia mobile money details
                              title: Mobile Money ZM
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_BW
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Botswana mobile money details
                              title: Mobile Money BW
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_CD
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: >-
                                DR Congo mobile money details. Deprecated — no
                                active payout corridor for this method; orders
                                using it are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: Mobile Money CD
                              deprecated: true
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_XOF
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: West African CFA mobile money details
                              title: Mobile Money XOF
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPhoneNumber:
                                  type: string
                                  description: Phone number
                                destinationNetworkId:
                                  type: string
                                  description: >-
                                    Payout network id (optional if
                                    destinationNetworkName is given)
                                destinationNetworkName:
                                  type: string
                                  description: >-
                                    Mobile money network name (resolves the
                                    network when id omitted)
                                country:
                                  type: string
                                  description: ISO 3166 country code
                                type:
                                  type: string
                                  enum:
                                    - MOBILE_MONEY_XAF
                              required:
                                - destinationName
                                - destinationPhoneNumber
                                - type
                              description: Central African CFA mobile money details
                              title: Mobile Money XAF
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationBankCode:
                                  type: string
                                  description: Bank code
                                destinationBankAccountNumber:
                                  type: string
                                  description: Bank account number (18-digit CLABE)
                                numericReference:
                                  type: string
                                  description: Numeric reference
                                notesReference:
                                  type: string
                                  description: Notes reference
                                destinationClabe:
                                  type: string
                                  description: >-
                                    CLABE — legacy alias, prefer
                                    destinationBankAccountNumber
                                destinationTaxId:
                                  type: string
                                  description: >-
                                    Recipient tax id (RFC) — required by some MX
                                    bank-deposit rails ("Número de
                                    Identificación"); optional otherwise
                                type:
                                  type: string
                                  enum:
                                    - BANK_DEPOSIT_MX
                              required:
                                - destinationName
                                - destinationBankAccountNumber
                                - type
                              description: Mexican bank deposit details
                              title: Bank Deposit MX
                            - type: object
                              properties:
                                destinationName:
                                  type: string
                                  description: Name of the recipient
                                destinationPseNumber:
                                  type: string
                                  description: PSE number
                                type:
                                  type: string
                                  enum:
                                    - PSE
                              required:
                                - destinationName
                                - destinationPseNumber
                                - type
                              description: >-
                                PSE transfer details. Deprecated — no active
                                payout corridor for this method; orders using it
                                are rejected. Retained for backward
                                compatibility with stored destinations.
                              title: PSE
                              deprecated: true
                          description: Detailed withdrawal information
                          title: WithdrawalInfo
                        source:
                          type: string
                          enum:
                            - ui
                            - apiApp
                            - externalApi
                            - internal
                          description: Source of withdrawal creation
                          example: externalApi
                        requires2FA:
                          type: boolean
                          description: Whether 2FA is required for this withdrawal
                          example: false
                        twoFactorToken:
                          type: string
                          description: 2FA token for email approval
                          example: abc123
                        twoFactorApprovedAt:
                          type: number
                          description: Timestamp when 2FA was approved
                          example: 1723027132
                        errorCode:
                          type: string
                          description: Error code when status is Review
                          example: INSUFFICIENT_BALANCE
                        errorDetails:
                          type: string
                          description: Detailed error information
                          example: Insufficient balance for withdrawal
                        reviewedBy:
                          type: string
                          description: Admin email who reviewed the withdrawal
                          example: admin@example.com
                        reviewedAt:
                          type: number
                          description: Timestamp when review happened
                          example: 1723027132
                      required:
                        - withdrawalId
                        - createdAt
                        - amount
                        - currency
                        - fee
                        - feeCurrency
                        - status
                      description: Details of the withdrawal associated with the order
                    createdAt:
                      type: number
                      description: Creation time of the order (timestamp)
                      examples:
                        - 1723027132
                        - 1723027200
                        - 1723027300
                    updatedAt:
                      type: number
                      description: Last update time of the order (timestamp)
                      examples:
                        - 1723027132
                        - 1723027200
                        - 1723027300
                    status:
                      type: string
                      enum:
                        - Pending
                        - Processing
                        - Reviewing
                        - Success
                        - Failed
                        - Canceled
                      description: Current status of the order
                      title: OrderStatus
                      examples:
                        - Pending
                        - Processing
                        - Reviewing
                        - Success
                        - Failed
                    externalReference:
                      type: string
                      description: >-
                        External reference of the order, as you supplied it on
                        create.
                    externalRefeference:
                      type: string
                      description: >-
                        Deprecated misspelling of `externalReference` — same
                        value. Read `externalReference` instead; this key
                        remains for backward compatibility and will be removed
                        in a future major version.
                      deprecated: true
                    fee:
                      type: number
                      minimum: 0
                      description: >-
                        Total fee for the order once all the execution is
                        completed
                      examples:
                        - 6.37
                        - 8.5
                        - 10.25
                    expectedFee:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      description: Expected fee given the initial deposit amount
                      examples:
                        - 6.88
                        - 9.2
                        - 11.5
                    expectedGasFee:
                      type: number
                      description: Expected gas fee if the withdrawal is with crypto
                      examples:
                        - 6.88
                        - 8.5
                        - 10.25
                    feeCurrency:
                      type: string
                      description: Currency of the fee
                      examples:
                        - EUR
                        - USD
                        - GBP
                  required:
                    - orderId
                    - createdAt
                    - status
                    - fee
                    - expectedFee
                    - feeCurrency
                  description: Schema representing order details
                description: Response schema for listing orders
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: |-
            const res = await fetch("https://api.virtuabroker.com/v1/orders", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/orders",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/orders" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/orders/{orderId}:
    get:
      summary: Get order details
      description: This endpoint retrieves details of a specific order.
      tags:
        - Orders
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 12
            maxLength: 12
            pattern: ^[A-Z0-9]{12}$
            description: ID of the order
            examples:
              - 01CLFXMT67II
              - 2R7E5Y5KFXP8
              - 4FWWRE3Y2URM
          required: true
          description: ID of the order
          name: orderId
          in: path
      responses:
        '200':
          description: Successful retrieval of order details
          content:
            application/json:
              schema:
                type: object
                properties:
                  orderId:
                    type: string
                    description: ID of the order
                    examples:
                      - 01CLFXMT67II
                      - 2R7E5Y5KFXP8
                      - 4FWWRE3Y2URM
                  deposit:
                    type: object
                    properties:
                      depositId:
                        type: string
                        minLength: 1
                        description: >-
                          ID of the deposit. Normally a 12-character internal
                          id; deposits created before mid-2026 may carry a
                          longer legacy id. Treat it as an opaque string.
                      externalReference:
                        type: string
                        minLength: 1
                        maxLength: 128
                        description: >-
                          Your own reference for this deposit. Stored as-is and
                          returned on create, detail and list, so you can look
                          the deposit up by it after a network timeout instead
                          of retrying blind. Not interpreted by VirtuaBroker and
                          not shown to the payer — for the payer's transfer
                          reference use depositInfo.referenceCode.
                        examples:
                          - partner-ref-0001
                          - inv_2026_00417
                      userData:
                        oneOf:
                          - type: object
                            properties:
                              userType:
                                type: string
                                enum:
                                  - individual
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: >-
                                  First name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - John
                                  - Alice
                                  - Bob
                              lastName:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: >-
                                  Last name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - Doe
                                  - Smith
                                  - Johnson
                              userEmail:
                                type: string
                                maxLength: 254
                                format: email
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the deposit
                                examples:
                                  - user@virtuabroker.com
                                  - john.doe@example.com
                                  - alice@example.com
                              address:
                                type: string
                                maxLength: 150
                                description: Address of the user making the deposit
                                examples:
                                  - 123 Main St, Anytown, ES
                                  - 456 Elm St, Anytown, ES
                                  - 789 Oak St, Anytown, ES
                              taxDocumentType:
                                type: string
                                maxLength: 50
                                description: >-
                                  Tax document type of the user making the
                                  deposit. Common values: DNI, NIE, PASSPORT,
                                  CC, NIT, CE, NIF, but any string is accepted.
                                examples:
                                  - CC
                                  - NIT
                                  - CE
                                  - NIF
                                  - Other
                              taxId:
                                type: string
                                maxLength: 30
                                description: Tax ID of the user making the deposit
                                examples:
                                  - 123-45-6789
                                  - 987-65-4321
                                  - 111-22-3333
                              country:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country code of the user making the deposit
                                examples:
                                  - ES
                                  - US
                                  - GB
                              state:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: State of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              postalCode:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Postal code of the user making the deposit
                                examples:
                                  - '12345'
                                  - '67890'
                                  - abcde
                              city:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: City of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              dob:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Date of birth of the user making the deposit
                                examples:
                                  - '1990-01-01'
                                  - '1995-05-15'
                                  - '1988-12-31'
                              phoneNumber:
                                type: string
                                maxLength: 30
                                description: Phone number of the user making the deposit
                                examples:
                                  - '+447700900123'
                                  - '+447700900456'
                                  - '+447700900789'
                              kycId:
                                type: string
                                minLength: 1
                                maxLength: 300
                                description: >-
                                  KYC ID of the user making the deposit on your
                                  platform (if the KYC is done by you, add the
                                  url)
                                examples:
                                  - kyc-12345
                                  - kyc-67890
                                  - kyc-abcde
                              activity:
                                type: string
                                description: Activity of the user making the deposit
                                examples:
                                  - worker
                                  - business
                                  - student
                            required:
                              - userType
                              - firstName
                              - userEmail
                              - country
                          - type: object
                            properties:
                              userType:
                                type: string
                                enum:
                                  - business
                              businessName:
                                type: string
                                maxLength: 150
                                description: >-
                                  Business name (required when userType is
                                  business)
                                examples:
                                  - Acme Corp
                                  - Tech Solutions Inc
                                  - Global Services Ltd
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: >-
                                  First name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - John
                                  - Alice
                                  - Bob
                              userEmail:
                                type: string
                                maxLength: 254
                                format: email
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the deposit
                                examples:
                                  - user@virtuabroker.com
                                  - john.doe@example.com
                                  - alice@example.com
                              address:
                                type: string
                                maxLength: 150
                                description: Address of the user making the deposit
                                examples:
                                  - 123 Main St, Anytown, ES
                                  - 456 Elm St, Anytown, ES
                                  - 789 Oak St, Anytown, ES
                              taxDocumentType:
                                type: string
                                maxLength: 50
                                description: >-
                                  Tax document type of the user making the
                                  deposit. Common values: DNI, NIE, PASSPORT,
                                  CC, NIT, CE, NIF, but any string is accepted.
                                examples:
                                  - CC
                                  - NIT
                                  - CE
                                  - NIF
                                  - Other
                              taxId:
                                type: string
                                maxLength: 30
                                description: Tax ID of the user making the deposit
                                examples:
                                  - 123-45-6789
                                  - 987-65-4321
                                  - 111-22-3333
                              country:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country code of the user making the deposit
                                examples:
                                  - ES
                                  - US
                                  - GB
                              state:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: State of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              postalCode:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Postal code of the user making the deposit
                                examples:
                                  - '12345'
                                  - '67890'
                                  - abcde
                              city:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: City of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              dob:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Date of birth of the user making the deposit
                                examples:
                                  - '1990-01-01'
                                  - '1995-05-15'
                                  - '1988-12-31'
                              phoneNumber:
                                type: string
                                maxLength: 30
                                description: Phone number of the user making the deposit
                                examples:
                                  - '+447700900123'
                                  - '+447700900456'
                                  - '+447700900789'
                              kycId:
                                type: string
                                minLength: 1
                                maxLength: 300
                                description: >-
                                  KYC ID of the user making the deposit on your
                                  platform (if the KYC is done by you, add the
                                  url)
                                examples:
                                  - kyc-12345
                                  - kyc-67890
                                  - kyc-abcde
                              activity:
                                type: string
                                description: Activity of the user making the deposit
                                examples:
                                  - worker
                                  - business
                                  - student
                            required:
                              - userType
                              - businessName
                              - firstName
                              - userEmail
                              - country
                        description: User data of the person/company making the deposit
                        examples:
                          - userType: individual
                            firstName: John
                            lastName: Doe
                            userEmail: user@virtuabroker.com
                            address: 123 Main St, Anytown, ES
                            taxId: 123-45-6789
                            country: ES
                          - userType: individual
                            firstName: Alice
                            lastName: Smith
                            userEmail: alice@example.com
                            address: 456 Elm St, Anytown, ES
                            taxId: 987-65-4321
                            country: ES
                      createdAt:
                        type: number
                        description: Creation time of the deposit
                        examples:
                          - 1723027132
                          - 1723027133
                          - 1723027134
                      rail:
                        type: string
                        enum:
                          - BALANCE
                          - SEPA
                          - BTC
                          - ETH
                          - MATIC
                          - POLYGON
                          - CELO
                          - TRON
                          - SOLANA
                          - ARBITRUM
                          - OPTIMISM
                          - AVALANCHE
                          - BSC
                          - BASE
                          - XRP
                          - PIX_BR
                          - UPI
                          - IMPS
                          - TRY_BANK_TRANSFER
                          - AED_BANK_TRANSFER
                          - SPEI
                          - IDR_BANK_TRANSFER
                          - CREDIT_CARD
                          - THAI_QR
                          - VIET_QR
                          - GCASH
                          - ARGENTINA_BANK_TRANSFER
                          - PSE
                          - CLABE
                          - PIX
                          - BANK_DEPOSIT_COL
                          - BANK_DEPOSIT_AR
                          - BANK_DEPOSIT_CL
                          - BANK_DEPOSIT_PE
                          - BANK_DEPOSIT_BO
                          - BANK_DEPOSIT_BR
                          - BANK_DEPOSIT_NG
                          - BANK_DEPOSIT_KE
                          - BANK_DEPOSIT_GH
                          - BANK_DEPOSIT_ZA
                          - BANK_DEPOSIT_TZ
                          - BANK_DEPOSIT_UG
                          - BANK_DEPOSIT_RW
                          - BANK_DEPOSIT_MW
                          - BANK_DEPOSIT_ZM
                          - BANK_DEPOSIT_BW
                          - BANK_DEPOSIT_CD
                          - BANK_DEPOSIT_XOF
                          - BANK_DEPOSIT_XAF
                          - MOBILE_MONEY_NG
                          - MOBILE_MONEY_KE
                          - MOBILE_MONEY_GH
                          - MOBILE_MONEY_ZA
                          - MOBILE_MONEY_TZ
                          - MOBILE_MONEY_UG
                          - MOBILE_MONEY_RW
                          - MOBILE_MONEY_MW
                          - MOBILE_MONEY_ZM
                          - MOBILE_MONEY_BW
                          - MOBILE_MONEY_CD
                          - MOBILE_MONEY_XOF
                          - MOBILE_MONEY_XAF
                          - ACH_US
                          - GBP_BANK_TRANSFER
                        description: Rail of the deposit
                      receivedAt:
                        type: number
                        description: >-
                          Unix ms timestamp of when the funds for this deposit
                          ARRIVED — recorded when the incoming payment is
                          matched to the deposit, which is before it is
                          credited. Present whenever funds have arrived,
                          including a deposit whose funds are still held in
                          review; omitted entirely when no funds ever arrived,
                          so a never-funded or cancelled deposit has no value
                          here and its presence is a reliable settlement signal
                          for reconciliation. Identical on GET /v1/deposits and
                          GET /v1/deposits/{depositId}. Note that the deposit
                          object embedded in order and operation responses does
                          not yet apply this rule — it returns the stored value.
                          Not the creation time — use createdAt for that.
                        examples:
                          - 1723027132000
                          - 1723027133000
                          - 1723027134000
                      expectedAmount:
                        type: number
                        minimum: 0
                        description: Amount expected of the deposit
                        examples:
                          - 1000
                          - 2000
                          - 3000
                      amount:
                        type: number
                        minimum: 0
                        description: Amount received of the deposit
                        examples:
                          - 1000
                          - 2000
                          - 3000
                      currency:
                        anyOf:
                          - type: string
                            enum:
                              - EUR
                              - USD
                              - GBP
                              - BRL
                              - MXN
                              - ARS
                              - COP
                              - PEN
                              - NGN
                              - KES
                              - TZS
                              - UGX
                              - RWF
                              - MWK
                              - ZMW
                              - XOF
                              - XAF
                              - BWP
                          - type: string
                            enum:
                              - USDC
                              - USDT
                              - CUSD
                              - BTC
                              - ETH
                              - POL
                              - SOL
                              - TRX
                              - AVAX
                              - XRP
                              - BNB
                        description: Currency of the deposit
                        examples:
                          - EUR
                          - BRL
                      fee:
                        type: number
                        minimum: 0
                        description: >-
                          Fee for the deposit. This value is written once the
                          deposit has been executed. Meanwhile it will appear 0.
                        example: 10
                      expectedFee:
                        type: number
                        minimum: 0
                        description: >-
                          Fee for the deposit. This value is correlated with the
                          expected amount for the deposit.
                        examples:
                          - 10
                          - 20
                          - 30
                      feeCurrency:
                        anyOf:
                          - type: string
                            enum:
                              - EUR
                              - USD
                              - GBP
                              - BRL
                              - MXN
                              - ARS
                              - COP
                              - PEN
                              - NGN
                              - KES
                              - TZS
                              - UGX
                              - RWF
                              - MWK
                              - ZMW
                              - XOF
                              - XAF
                              - BWP
                          - type: string
                            enum:
                              - USDC
                              - USDT
                              - CUSD
                              - BTC
                              - ETH
                              - POL
                              - SOL
                              - TRX
                              - AVAX
                              - XRP
                              - BNB
                        description: Currency of the fee
                        examples:
                          - EUR
                          - BRL
                      status:
                        anyOf:
                          - type: string
                            enum:
                              - Pending
                              - Processing
                              - Success
                              - Failed
                              - Canceled
                              - Reviewing
                            description: >-
                              Common status values that are shared across all
                              operation types
                            examples:
                              - Pending
                              - Processing
                              - Success
                              - Failed
                              - Canceled
                              - Reviewing
                          - type: string
                            enum:
                              - PendingCancel
                              - Received
                        description: Status of the deposit
                        examples:
                          - Pending
                          - Success
                          - Failed
                          - Received
                          - PendingCancel
                      depositInfo:
                        oneOf:
                          - type: object
                            properties:
                              accountHolder:
                                type: string
                                description: Name of the account holder
                                example: John Doe
                              iban:
                                type: string
                                description: SEPA Bank Account Number
                                example: DE8937XXXXXXXXXXXX3000
                              bic:
                                type: string
                                description: Bank BIC/SWIFT code
                                example: DEUTDEFF
                              bankName:
                                type: string
                                description: Name of the bank
                                example: Deutsche Bank
                              bankAddress:
                                type: string
                                description: Address of the bank
                                example: Taunusanlage 12
                              bankCity:
                                type: string
                                description: City of the bank
                                example: Frankfurt am Main
                              bankZipcode:
                                type: string
                                description: Zipcode of the bank
                                example: '60325'
                              bankCountry:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country of the bank
                                example: DE
                              depositType:
                                type: string
                                enum:
                                  - SEPA
                              amount:
                                type: number
                                minimum: 0
                                description: >-
                                  Expected deposit amount. It can be 0 for
                                  open-amount bank transfers where the sender
                                  chooses the final amount from their bank.
                                example: 1000
                              referenceCode:
                                type: string
                                minLength: 1
                                description: >-
                                  A unique identifier for the deposit, crucial
                                  for matching the deposit with the
                                  corresponding order. The user must include
                                  this code when making the deposit to ensure
                                  accurate processing. In cases where the
                                  reference code is incorrect or missing, we
                                  manually match orders based on the sender's
                                  name and other available details. In case the
                                  deposit is not matched, we will mark the order
                                  as Reviewing and the system will require
                                  manual attention.
                                example: REF123456
                              extraDepositMethods:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    methodType:
                                      type: string
                                      enum:
                                        - HOSTED_CHECKOUT
                                      description: >-
                                        HOSTED_CHECKOUT: a hosted payment page
                                        to send the payer to (card). More types
                                        may be added — treat an unknown value as
                                        unsupported and fall back to the bank
                                        details in `depositInfo`.
                                    url:
                                      type: string
                                      description: >-
                                        URL to send the payer to. For
                                        HOSTED_CHECKOUT, redirect the payer here
                                        (or embed it) to pay by card.
                                      example: https://checkout.example.com/pay/abc123
                                    callbackUrl:
                                      type: string
                                      description: >-
                                        Where the payer’s BROWSER is returned
                                        after paying. Informational only: it is
                                        not a server-to-server notification, and
                                        a payer landing there is NOT proof of
                                        payment — rely on the deposit status or
                                        webhooks for that.
                                    referenceCode:
                                      type: string
                                      description: >-
                                        Payment reference for this method
                                        (equals the deposit/order reference)
                                    amount:
                                      type: number
                                      description: >-
                                        Amount payable via this method when it
                                        differs from the deposit amount (e.g. a
                                        method-specific surcharge)
                                    currency:
                                      type: string
                                      description: Currency of this method
                                    expiresAt:
                                      type: number
                                      description: >-
                                        Unix ms after which `url` is no longer
                                        valid, when known
                                  required:
                                    - methodType
                                    - url
                                  description: >-
                                    An additional, optional way to pay this
                                    deposit
                                description: >-
                                  Additional, optional ways to pay this same
                                  deposit (e.g. a hosted card page). The bank
                                  details above remain the primary method;
                                  ignore this field if you only support bank
                                  transfer.
                            required:
                              - depositType
                              - amount
                              - referenceCode
                            description: >-
                              Detailed information about a bank deposit,
                              including the amount and a unique reference code
                              for identification.
                          - type: object
                            properties:
                              address:
                                type: string
                                minLength: 1
                                description: Crypto wallet address
                                example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                              network:
                                type: string
                                enum:
                                  - MATIC
                                  - ETH
                                  - CELO
                                  - TRON
                                  - BTC
                                  - SOLANA
                                  - XRP
                                  - CARDANO
                                  - BSC
                                  - ARBITRUM
                                  - OPTIMISM
                                  - AVALANCHE
                                  - BASE
                                description: Network for the deposit for crypto deposits
                                examples:
                                  - ETH
                                  - MATIC
                                  - CELO
                              memo:
                                type: string
                                description: Optional memo for the transaction
                                example: Payment for services
                              depositType:
                                type: string
                                enum:
                                  - CRYPTO
                              qrCode:
                                type: string
                                description: >-
                                  Base64-encoded QR image for the deposit
                                  address
                                example: >-
                                  iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                              qrCodeUrl:
                                type: string
                                format: uri
                                description: 7-day signed GCS URL of the QR code PNG
                              qrCodeExpiresAt:
                                type: number
                                description: Unix timestamp (ms) when qrCodeUrl expires
                              receivingAddress:
                                type: string
                                description: The wallet address where funds should be sent
                                example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                              tokenContract:
                                type: string
                                description: The ERC20 token contract address
                                example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                              decimals:
                                type: number
                                description: Token decimals (default 18)
                                example: 18
                            required:
                              - address
                              - network
                              - depositType
                            description: Crypto Deposit Information
                          - type: object
                            properties:
                              base64QRCode:
                                type: string
                                minLength: 1
                                description: Base64 encoded QR code
                                example: base64QRCode
                              qrCodeString:
                                type: string
                                minLength: 1
                                description: >-
                                  The Pix copy-and-paste code (BR Code payload)
                                  the payer pastes into their bank app. Pass it
                                  through unchanged — it carries its own
                                  checksum.
                                example: qrCodeString
                              referenceCode:
                                type: string
                                minLength: 1
                                description: >-
                                  A unique identifier for the deposit, crucial
                                  for matching the deposit with the
                                  corresponding order
                                example: REF123456
                              amount:
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                                description: >-
                                  The monetary value to be deposited into the
                                  bank. This amount should be positive and
                                  accurately reflect the intended deposit.
                                example: 1000
                              depositType:
                                type: string
                                enum:
                                  - PIX
                            required:
                              - base64QRCode
                              - qrCodeString
                              - referenceCode
                              - amount
                              - depositType
                            description: Pix Deposit Information
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - CREDIT_CARD
                            required:
                              - depositType
                          - type: object
                            properties:
                              bankName:
                                type: string
                                description: >-
                                  Name of the bank (present when the rail
                                  provides it)
                              accountHolder:
                                type: string
                                description: >-
                                  Name of the account holder (present when the
                                  rail provides it)
                              clabe:
                                type: string
                                description: CLABE number
                              accountNumber:
                                type: string
                                description: >-
                                  Bank account number (e.g. from the
                                  BANK_TRANSFER payment method)
                              reference:
                                type: string
                                description: >-
                                  Payment reference (e.g. from the BANK_TRANSFER
                                  payment method)
                              depositType:
                                type: string
                                enum:
                                  - CLABE
                                description: Type of the deposit
                            required:
                              - clabe
                              - depositType
                          - type: object
                            properties:
                              url:
                                type: string
                                description: URL of the PSE payment
                              amountPrefilled:
                                type: boolean
                                description: >-
                                  Whether the payment page already carries the
                                  amount. When false or absent, the payer must
                                  enter it.
                              depositType:
                                type: string
                                enum:
                                  - PSE
                                description: Type of the deposit
                            required:
                              - url
                              - depositType
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BALANCE
                            required:
                              - depositType
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - PENDING
                              currency:
                                type: string
                                description: Currency of the deposit
                              referenceCode:
                                type: string
                                description: Reference code for the order/deposit
                              amount:
                                type: number
                                minimum: 0
                                description: >-
                                  Expected deposit amount. It can be 0 while
                                  bank transfer details are open-amount or still
                                  being provisioned.
                              extraDepositMethods:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    methodType:
                                      type: string
                                      enum:
                                        - HOSTED_CHECKOUT
                                      description: >-
                                        HOSTED_CHECKOUT: a hosted payment page
                                        to send the payer to (card). More types
                                        may be added — treat an unknown value as
                                        unsupported and fall back to the bank
                                        details in `depositInfo`.
                                    url:
                                      type: string
                                      description: >-
                                        URL to send the payer to. For
                                        HOSTED_CHECKOUT, redirect the payer here
                                        (or embed it) to pay by card.
                                      example: https://checkout.example.com/pay/abc123
                                    callbackUrl:
                                      type: string
                                      description: >-
                                        Where the payer’s BROWSER is returned
                                        after paying. Informational only: it is
                                        not a server-to-server notification, and
                                        a payer landing there is NOT proof of
                                        payment — rely on the deposit status or
                                        webhooks for that.
                                    referenceCode:
                                      type: string
                                      description: >-
                                        Payment reference for this method
                                        (equals the deposit/order reference)
                                    amount:
                                      type: number
                                      description: >-
                                        Amount payable via this method when it
                                        differs from the deposit amount (e.g. a
                                        method-specific surcharge)
                                    currency:
                                      type: string
                                      description: Currency of this method
                                    expiresAt:
                                      type: number
                                      description: >-
                                        Unix ms after which `url` is no longer
                                        valid, when known
                                  required:
                                    - methodType
                                    - url
                                  description: >-
                                    An additional, optional way to pay this
                                    deposit
                                description: >-
                                  Additional ways to pay while the bank details
                                  are being provisioned (e.g. a hosted card
                                  page). Optional — ignore it and wait for the
                                  bank details if you only support bank
                                  transfer.
                              pendingReason:
                                type: string
                                enum:
                                  - collection_account_activating
                                  - accountless_per_account_corridor
                                description: >-
                                  Why the instructions are still being
                                  provisioned, when the reason is known.
                                  `collection_account_activating` means the
                                  collection account for this payer is being
                                  activated and payable details are expected
                                  shortly. `accountless_per_account_corridor`
                                  means this corridor collects only into a
                                  collection account dedicated to the paying
                                  account, this request names no account, and
                                  none can be created for it — so payable
                                  details will NOT arrive by waiting; create the
                                  deposit against an account instead. Absence
                                  never conveys timing on either surface: here
                                  it means only that no reason is classifiable,
                                  and an account-level deposit-method
                                  instruction never carries the field at all.
                                  Treat the values as an open set and ignore any
                                  you do not recognise.
                            required:
                              - depositType
                              - currency
                              - referenceCode
                              - amount
                            description: >-
                              Deposit details are being provisioned; poll the
                              order/deposit or wait for webhook
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - IMPS
                              accountNumber:
                                type: string
                                description: Account number
                              bankName:
                                type: string
                                description: Name of the bank
                              accountHolder:
                                type: string
                                description: Name of the account holder
                              ifsc:
                                type: string
                                description: ifsc number
                              type:
                                type: string
                                description: Type of the deposit
                              branch:
                                type: string
                                description: Branch of the bank
                              bank:
                                type: string
                                description: Bank of the account
                              otp:
                                type: string
                                description: OTP of the deposit
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - accountNumber
                              - bankName
                              - accountHolder
                              - ifsc
                              - type
                              - branch
                              - bank
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - UPI
                              vpa:
                                type: string
                                description: Virtual Payment Address
                              name:
                                type: string
                                description: Name of the account holder
                              otp:
                                type: string
                                description: OTP for the transaction
                              paymentLink:
                                type: string
                                description: Payment link
                              upiNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional UPI instructions
                            required:
                              - depositType
                              - vpa
                              - name
                              - otp
                              - paymentLink
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - AED_BANK_TRANSFER
                              iban:
                                type: string
                                description: International Bank Account Number
                              name:
                                type: string
                                description: Name of the account holder
                              bank:
                                type: string
                                description: Bank name
                              type:
                                type: string
                                description: Account type
                              address:
                                type: string
                                description: Bank address
                              email:
                                type: string
                                description: Contact email
                              phoneNumber:
                                type: string
                                description: Contact phone number
                              transferCode:
                                type: string
                                description: Transfer code
                              poBox:
                                type: string
                                description: P.O. Box
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - iban
                              - name
                              - bank
                              - type
                              - address
                              - email
                              - phoneNumber
                              - transferCode
                              - poBox
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - SPEI
                              clabe:
                                type: string
                                description: CLABE number
                              name:
                                type: string
                                description: Name of the account holder
                              bank:
                                type: string
                                description: Bank name
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - clabe
                              - name
                              - bank
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - TRY_BANK_TRANSFER
                              iban:
                                type: string
                                description: International Bank Account Number
                              name:
                                type: string
                                description: Name of the account holder
                              bank:
                                type: string
                                description: Bank name
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - iban
                              - name
                              - bank
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - IDR_BANK_TRANSFER
                              virtualAccount:
                                type: string
                                description: Virtual account number
                              name:
                                type: string
                                description: Name of the account holder
                              bank:
                                type: string
                                description: Bank name
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - virtualAccount
                              - name
                              - bank
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - THAI_QR
                              qrCode:
                                type: string
                                description: QR code
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - qrCode
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - VIET_QR
                              qrCode:
                                type: string
                                description: QR code
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - qrCode
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - GCASH
                              qrCode:
                                type: string
                                description: QR code
                              otp:
                                type: string
                                description: OTP for the transaction
                              bankNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: number
                                      description: 'Type of note: -1 for warning, 1 for info'
                                    msg:
                                      type: string
                                      description: Message content
                                  required:
                                    - type
                                    - msg
                                description: Additional bank instructions
                            required:
                              - depositType
                              - qrCode
                              - otp
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - ARGENTINA_BANK_TRANSFER
                              accountNumber:
                                type: string
                                description: Account number
                              accountHolder:
                                type: string
                                description: Account holder name
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - accountNumber
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - ACH_US
                              routingNumber:
                                type: string
                                description: US bank ABA routing number
                              accountNumber:
                                type: string
                                description: US bank account number
                              beneficiaryName:
                                type: string
                                description: Beneficiary name on the account
                              bankName:
                                type: string
                                description: Name of the bank
                              bankAddress:
                                type: string
                                description: Address of the bank
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names (e.g. ACH, Wire)
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount in USD
                              referenceCode:
                                type: string
                                minLength: 1
                                description: >-
                                  Reference code to include in the wire/ACH
                                  transfer
                            required:
                              - depositType
                              - routingNumber
                              - accountNumber
                              - beneficiaryName
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - ACH_PULL
                            required:
                              - depositType
                            description: >-
                              Funds are pulled from the holder's own linked US
                              bank account; no transfer instructions apply
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - LOCALBANK
                                description: >-
                                  Deprecated generic local-bank payin type.
                                  Superseded by the corridor-specific deposit
                                  types (e.g. SEPA, ACH_US, GBP_BANK_TRANSFER,
                                  CLABE/SPEI, PIX, ARGENTINA_BANK_TRANSFER,
                                  BANK_DEPOSIT_<CC>). Still returned on some
                                  corridors and on historical records, so
                                  integrators must continue to handle it.
                                  Discover the applicable per-currency method
                                  via GET
                                  /v1/currencies/{currency}/payin-schema.
                                deprecated: true
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - GBP_BANK_TRANSFER
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: UK bank account number
                              sortCode:
                                type: string
                                description: UK sort code
                              bankName:
                                type: string
                                description: Name of the bank
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: >-
                                  Accepted payment scheme names (e.g. Faster
                                  Payments, CHAPS, BACS)
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount in GBP
                              referenceCode:
                                type: string
                                minLength: 1
                                description: Reference code to include in the transfer
                            required:
                              - depositType
                              - accountHolder
                              - accountNumber
                              - sortCode
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_COL
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CL
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BO
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BR
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_NG
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_KE
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_GH
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZA
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TZ
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_UG
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_RW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZM
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CD
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XOF
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XAF
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_NG
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_KE
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_GH
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZA
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_TZ
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_UG
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_RW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_MW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZM
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_BW
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_CD
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XOF
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                          - type: object
                            properties:
                              depositType:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XAF
                              accountHolder:
                                type: string
                                description: Account holder name
                              accountNumber:
                                type: string
                                description: Local bank account number
                              bankName:
                                type: string
                                description: Bank name
                              bankCountry:
                                type: string
                                description: ISO-3166 country code
                              routingCodes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: >-
                                        Routing code type (e.g.
                                        "routing_number", "sort_code")
                                    value:
                                      type: string
                                      description: Routing code value
                                  required:
                                    - type
                                    - value
                                description: >-
                                  Routing identifiers (e.g. sort code, routing
                                  number)
                              schemes:
                                type: array
                                items:
                                  type: string
                                description: Accepted payment scheme names for this account
                              amount:
                                type: number
                                minimum: 0
                                description: Expected deposit amount
                              referenceCode:
                                type: string
                                description: Reference code for the transfer
                            required:
                              - depositType
                              - amount
                              - referenceCode
                        description: Details of the deposit
                        examples:
                          - accountHolder: John Doe
                            iban: DE8937XXXXXXXXXXXX3000
                            bic: COBADEFFXXX
                            bankName: Commerzbank
                            bankAddress: Mainzer Landstrasse 151-153
                            bankCity: Frankfurt
                            bankZipcode: '60327'
                            bankCountry: DE
                            amount: 1000
                            referenceCode: ABC123
                            depositType: SEPA
                      depositInfoPending:
                        type: boolean
                        description: >-
                          True while the payment instructions are still being
                          prepared. Poll this deposit until it is false (or
                          absent) before showing the instructions to the payer.
                      complianceHold:
                        type: object
                        properties:
                          reason:
                            type: string
                            enum:
                              - screening
                              - fiat_monitoring
                            description: Compliance hold reason
                        required:
                          - reason
                        description: >-
                          Present while the inbound transfer funding this
                          deposit is held in provider compliance review. The
                          deposit stays Reviewing (amount 0, never credited)
                          until the hold clears (promote to Received) or the
                          transfer is rejected/returned (terminalize).
                    required:
                      - depositId
                      - createdAt
                      - expectedAmount
                      - amount
                      - currency
                      - fee
                      - expectedFee
                      - feeCurrency
                      - status
                      - depositInfo
                    description: Details of the deposit associated with the order
                  trade:
                    type: object
                    properties:
                      tradeId:
                        type: string
                        description: ID of the trade
                        example: 123e4567-e89b-12d3-a456-426614174000
                      createdAt:
                        type: number
                        description: Creation time of the trade
                        example: 1723027132
                      pair:
                        type: string
                        description: Asset pair to trade
                        example: BTC/EUR
                      tradeType:
                        type: string
                        enum:
                          - buy
                          - sell
                        description: Type of trade
                      volume:
                        type: number
                        minimum: 0
                        exclusiveMinimum: true
                        description: Order quantity in lots
                        example: 0.5
                      price:
                        type: number
                        minimum: 0
                        exclusiveMinimum: true
                        description: Price at which to place the order based on the pair
                        example: 30000
                      conversionRate:
                        type: number
                        minimum: 0
                        exclusiveMinimum: true
                        description: >-
                          Conversion rate at which to place the order based on
                          the pair
                        example: 30000
                      fee:
                        type: number
                        minimum: 0
                        description: Fee for the trade
                        example: 0.1
                      feeCurrency:
                        type: string
                        description: Currency of the fee
                        example: EUR
                      userEmail:
                        type: string
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: Email of the user making the trade
                        example: user@example.com
                    required:
                      - tradeId
                      - createdAt
                      - pair
                      - tradeType
                      - volume
                      - fee
                      - feeCurrency
                      - userEmail
                    description: Details of the trade associated with the order
                  withdraw:
                    type: object
                    properties:
                      withdrawalId:
                        anyOf:
                          - type: string
                            minLength: 12
                            maxLength: 12
                            pattern: ^[A-Z0-9]{12}$
                            examples:
                              - 01CLFXMT67II
                              - 2R7E5Y5KFXP8
                              - 4FWWRE3Y2URM
                          - type: string
                            format: uuid
                        description: ID of the withdrawal
                      userData:
                        oneOf:
                          - type: object
                            properties:
                              userType:
                                type: string
                                enum:
                                  - individual
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: >-
                                  First name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - John
                                  - Alice
                                  - Bob
                              lastName:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: >-
                                  Last name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - Doe
                                  - Smith
                                  - Johnson
                              userEmail:
                                type: string
                                maxLength: 254
                                format: email
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the deposit
                                examples:
                                  - user@virtuabroker.com
                                  - john.doe@example.com
                                  - alice@example.com
                              address:
                                type: string
                                maxLength: 150
                                description: Address of the user making the deposit
                                examples:
                                  - 123 Main St, Anytown, ES
                                  - 456 Elm St, Anytown, ES
                                  - 789 Oak St, Anytown, ES
                              taxDocumentType:
                                type: string
                                maxLength: 50
                                description: >-
                                  Tax document type of the user making the
                                  deposit. Common values: DNI, NIE, PASSPORT,
                                  CC, NIT, CE, NIF, but any string is accepted.
                                examples:
                                  - CC
                                  - NIT
                                  - CE
                                  - NIF
                                  - Other
                              taxId:
                                type: string
                                maxLength: 30
                                description: Tax ID of the user making the deposit
                                examples:
                                  - 123-45-6789
                                  - 987-65-4321
                                  - 111-22-3333
                              country:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country code of the user making the deposit
                                examples:
                                  - ES
                                  - US
                                  - GB
                              state:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: State of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              postalCode:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Postal code of the user making the deposit
                                examples:
                                  - '12345'
                                  - '67890'
                                  - abcde
                              city:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: City of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              dob:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Date of birth of the user making the deposit
                                examples:
                                  - '1990-01-01'
                                  - '1995-05-15'
                                  - '1988-12-31'
                              phoneNumber:
                                type: string
                                maxLength: 30
                                description: Phone number of the user making the deposit
                                examples:
                                  - '+447700900123'
                                  - '+447700900456'
                                  - '+447700900789'
                              kycId:
                                type: string
                                minLength: 1
                                maxLength: 300
                                description: >-
                                  KYC ID of the user making the deposit on your
                                  platform (if the KYC is done by you, add the
                                  url)
                                examples:
                                  - kyc-12345
                                  - kyc-67890
                                  - kyc-abcde
                              activity:
                                type: string
                                description: Activity of the user making the deposit
                                examples:
                                  - worker
                                  - business
                                  - student
                            required:
                              - userType
                              - firstName
                              - userEmail
                              - country
                          - type: object
                            properties:
                              userType:
                                type: string
                                enum:
                                  - business
                              businessName:
                                type: string
                                maxLength: 150
                                description: >-
                                  Business name (required when userType is
                                  business)
                                examples:
                                  - Acme Corp
                                  - Tech Solutions Inc
                                  - Global Services Ltd
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: >-
                                  First name of the user making the deposit (or
                                  representative for business)
                                examples:
                                  - John
                                  - Alice
                                  - Bob
                              userEmail:
                                type: string
                                maxLength: 254
                                format: email
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the deposit
                                examples:
                                  - user@virtuabroker.com
                                  - john.doe@example.com
                                  - alice@example.com
                              address:
                                type: string
                                maxLength: 150
                                description: Address of the user making the deposit
                                examples:
                                  - 123 Main St, Anytown, ES
                                  - 456 Elm St, Anytown, ES
                                  - 789 Oak St, Anytown, ES
                              taxDocumentType:
                                type: string
                                maxLength: 50
                                description: >-
                                  Tax document type of the user making the
                                  deposit. Common values: DNI, NIE, PASSPORT,
                                  CC, NIT, CE, NIF, but any string is accepted.
                                examples:
                                  - CC
                                  - NIT
                                  - CE
                                  - NIF
                                  - Other
                              taxId:
                                type: string
                                maxLength: 30
                                description: Tax ID of the user making the deposit
                                examples:
                                  - 123-45-6789
                                  - 987-65-4321
                                  - 111-22-3333
                              country:
                                type: string
                                enum:
                                  - US
                                  - CA
                                  - GB
                                  - DE
                                  - FR
                                  - AU
                                  - JP
                                  - KR
                                  - SE
                                  - 'NO'
                                  - DK
                                  - FI
                                  - NL
                                  - BE
                                  - CH
                                  - AT
                                  - NZ
                                  - SG
                                  - IE
                                  - LU
                                  - PT
                                  - ES
                                  - IT
                                  - GR
                                  - CZ
                                  - PL
                                  - HU
                                  - SK
                                  - SI
                                  - EE
                                  - LT
                                  - LV
                                  - IS
                                  - MT
                                  - CY
                                  - HR
                                  - RO
                                  - BG
                                  - BR
                                  - AR
                                  - CL
                                  - MX
                                  - CO
                                  - PE
                                  - PA
                                  - UY
                                  - BO
                                  - ZA
                                  - NG
                                  - KE
                                  - GH
                                  - TZ
                                  - UG
                                  - RW
                                  - MW
                                  - ZM
                                  - BW
                                  - CD
                                  - CI
                                  - CM
                                  - IL
                                  - AE
                                  - QA
                                  - SA
                                  - OM
                                  - KW
                                  - BH
                                  - MY
                                  - PH
                                  - TH
                                  - VN
                                  - ID
                                  - IN
                                  - LK
                                  - NP
                                  - BD
                                  - PK
                                  - EG
                                  - MA
                                  - DZ
                                  - TN
                                  - JO
                                  - LB
                                  - TR
                                  - KH
                                  - MM
                                  - LA
                                  - EN
                                  - BT
                                  - VE
                                  - TW
                                  - HK
                                  - CN
                                description: Country code of the user making the deposit
                                examples:
                                  - ES
                                  - US
                                  - GB
                              state:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: State of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              postalCode:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Postal code of the user making the deposit
                                examples:
                                  - '12345'
                                  - '67890'
                                  - abcde
                              city:
                                type: string
                                minLength: 1
                                maxLength: 100
                                description: City of the user making the deposit
                                examples:
                                  - Madrid
                                  - New York
                                  - London
                              dob:
                                type: string
                                minLength: 1
                                maxLength: 30
                                description: Date of birth of the user making the deposit
                                examples:
                                  - '1990-01-01'
                                  - '1995-05-15'
                                  - '1988-12-31'
                              phoneNumber:
                                type: string
                                maxLength: 30
                                description: Phone number of the user making the deposit
                                examples:
                                  - '+447700900123'
                                  - '+447700900456'
                                  - '+447700900789'
                              kycId:
                                type: string
                                minLength: 1
                                maxLength: 300
                                description: >-
                                  KYC ID of the user making the deposit on your
                                  platform (if the KYC is done by you, add the
                                  url)
                                examples:
                                  - kyc-12345
                                  - kyc-67890
                                  - kyc-abcde
                              activity:
                                type: string
                                description: Activity of the user making the deposit
                                examples:
                                  - worker
                                  - business
                                  - student
                            required:
                              - userType
                              - businessName
                              - firstName
                              - userEmail
                              - country
                        description: User data for the withdrawal
                      createdAt:
                        type: number
                        description: Creation time of the withdrawal
                        example: 1723027132
                      updatedAt:
                        type: number
                        description: Last update time of the withdrawal
                        example: 1723027132
                      userEmail:
                        type: string
                        format: email
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: Email of the user making the request
                        example: user@example.com
                      amount:
                        type: number
                        description: >-
                          Amount to be withdrawn. This value is written once the
                          withdrawal has been executed. Meanwhile it will appear
                          0.
                        example: 1000
                      currency:
                        type: string
                        description: Currency of the withdrawal
                        example: EUR
                      fee:
                        type: number
                        description: >-
                          Fee for the withdrawal. This value is written once the
                          withdrawal has been executed. Meanwhile it will appear
                          0.
                        example: 10
                      feeCurrency:
                        type: string
                        description: Currency of the fee
                        example: EUR
                      destinationTransferData:
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BALANCE
                            required:
                              - type
                            description: Balance transfer details
                            title: Balance
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              iban:
                                type: string
                                description: IBAN number
                              bic:
                                type: string
                                description: BIC number (optional)
                              country:
                                type: string
                                description: Country code
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for SEPA
                                  payouts — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  SEPA payouts — provide it here or in
                                  destinationUserData.postalCode.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as the payout beneficiary
                                  `address.line1` when registering the
                                  beneficiary. Stored on the saved transaction
                                  method so the user does not have to re-supply
                                  it on every withdraw.
                              type:
                                type: string
                                enum:
                                  - SEPA
                            required:
                              - destinationName
                              - iban
                              - country
                              - type
                            description: SEPA transfer details
                            title: SEPA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              accountNumber:
                                type: string
                                description: UK bank account number
                              sortCode:
                                type: string
                                description: UK sort code
                              country:
                                type: string
                                enum:
                                  - GB
                                default: GB
                                description: >-
                                  ISO 3166 country code of the recipient (GBP
                                  transfer is UK-based)
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for this rail
                                  — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  this rail — provide it here or in
                                  destinationUserData.postalCode.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as payee address when creating the
                                  payee.
                              type:
                                type: string
                                enum:
                                  - GBP_BANK_TRANSFER
                            required:
                              - destinationName
                              - accountNumber
                              - sortCode
                              - type
                            description: GBP domestic bank transfer details
                            title: BankDepositGB
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              accountNumber:
                                type: string
                                description: US bank account number
                              routingNumber:
                                type: string
                                description: US ABA routing number
                              country:
                                type: string
                                enum:
                                  - US
                                default: US
                                description: >-
                                  ISO 3166 country code of the recipient (ACH is
                                  US-domestic)
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              bankAccountType:
                                type: string
                                enum:
                                  - CHECKING
                                  - SAVINGS
                                default: CHECKING
                                description: >-
                                  Kind of bank account the payout lands in.
                                  Defaults to CHECKING when omitted.
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for this rail
                                  — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  this rail — provide it here or in
                                  destinationUserData.postalCode.
                              state:
                                type: string
                                pattern: ^[A-Z]{2}$
                                description: >-
                                  Two-letter US state code of the recipient
                                  (e.g. NY). REQUIRED for this rail.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as payee address when creating the
                                  payee.
                              type:
                                type: string
                                enum:
                                  - ACH_US
                            required:
                              - destinationName
                              - accountNumber
                              - routingNumber
                              - state
                              - type
                            description: USD ACH transfer details
                            title: AchUS
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - linkedBankAccount
                              accountLinkId:
                                type: string
                                pattern: ^alnk_[0-9a-f]{24}$
                                description: >-
                                  Identifier of one of the account holder own
                                  linked bank accounts
                                examples:
                                  - alnk_0123456789abcdef01234567
                            required:
                              - type
                              - accountLinkId
                            description: >-
                              A bank account the account holder linked
                              beforehand. Pays out only to the holder of the
                              order; never to a third party. Not available yet.
                            title: LinkedBankAccount
                            deprecated: true
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - ETH
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: ETH destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: ETH
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - MATIC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: MATIC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: MATIC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - SOL
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: SOL destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: SOL
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - TRON
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: TRON destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: TRON
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - CELO
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: CELO destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: CELO
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BTC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BTC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: BTC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - SOLANA
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: SOLANA destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: SOLANA
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - XRP
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: XRP destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: XRP
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - CARDANO
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: CARDANO destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: CARDANO
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BSC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BSC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: BSC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - ARBITRUM
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: ARBITRUM destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: ARBITRUM
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - OPTIMISM
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: OPTIMISM destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: OPTIMISM
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - AVALANCHE
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: AVALANCHE destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: AVALANCHE
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BASE
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BASE destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: BASE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/COP/networks. Not read by the
                                  payout; retained for the network selector and
                                  for stored records.
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_COL
                              destinationBankCode:
                                type: string
                                description: >-
                                  Recipient bank code — one of the 4-digit codes
                                  published by GET
                                  /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                  (the code, not the name). Required when
                                  creating or updating a destination.
                              destinationBankAccountType:
                                type: string
                                description: >-
                                  Bank account type — CORRIENTE or AHORRO.
                                  Required when creating or updating a
                                  destination.
                              destinationTaxId:
                                type: string
                                description: >-
                                  Recipient ID document number. Required when
                                  creating or updating a destination.
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Recipient ID document type — CC, CE, NIT, TI
                                  or PP. Required when creating or updating a
                                  destination.
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Colombian bank deposit details. Equivalent to
                              ACH_COP — same payout rail, same required fields,
                              same bank roster; ACH_COP is recommended for new
                              integrations. Note that BANK_DEPOSIT_COL is also
                              the name of a COP collection rail.
                            title: Bank Deposit COL
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              brebKey:
                                type: string
                                minLength: 1
                                description: >-
                                  Bre-B key (llave) that identifies the
                                  recipient account
                              email:
                                type: string
                                description: >-
                                  Recipient email (optional contact for the
                                  Bre-B rail)
                              destinationPhoneNumber:
                                type: string
                                description: >-
                                  Recipient phone number (optional contact for
                                  the Bre-B rail)
                              type:
                                type: string
                                enum:
                                  - BRE_B_COP
                            required:
                              - destinationName
                              - brebKey
                              - type
                            description: Colombian Bre-B payout details
                            title: Bre-B COP
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                pattern: ^\d{4}$
                                description: >-
                                  Recipient bank code — one of the 4-digit codes
                                  published by GET
                                  /v1/currencies/COP/destination-schema?method=achCOP
                                  (the code, not the name)
                              destinationBankAccountNumber:
                                type: string
                                minLength: 1
                                description: Recipient bank account number
                              destinationBankAccountType:
                                type: string
                                minLength: 1
                                description: Bank account type (e.g. AHORROS / CORRIENTE)
                              destinationDocumentType:
                                type: string
                                minLength: 1
                                description: >-
                                  Recipient ID document type (e.g. CC / CE /
                                  NIT)
                              destinationTaxId:
                                type: string
                                minLength: 1
                                description: Recipient ID document number
                              type:
                                type: string
                                enum:
                                  - ACH_COP
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccountNumber
                              - destinationBankAccountType
                              - destinationDocumentType
                              - destinationTaxId
                              - type
                            description: Colombian ACH payout details
                            title: ACH COP
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (unused for TWD — no network
                                  discovery)
                              destinationBankName:
                                type: string
                                minLength: 2
                                description: >-
                                  Bank name (required — TWD payouts run over
                                  SWIFT)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TW
                              destinationBankBranch:
                                type: string
                                minLength: 2
                                description: >-
                                  Bank branch (required — TWD payouts run over
                                  SWIFT)
                              bic:
                                type: string
                                pattern: >-
                                  ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                                description: SWIFT BIC code (required for TWD payouts)
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account (legacy, optional)
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient (legacy, optional)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankName
                              - type
                              - destinationBankBranch
                              - bic
                            description: Taiwan bank deposit details (SWIFT payout)
                            title: Bank Deposit TW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankBranch:
                                type: string
                                description: Bank branch
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BR
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccount
                              - destinationBankBranch
                              - destinationTaxId
                              - type
                            description: Brazilian bank deposit details
                            title: Bank Deposit BR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPixCode:
                                type: string
                                description: PIX code
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient
                              type:
                                type: string
                                enum:
                                  - PIX_BR
                            required:
                              - destinationName
                              - destinationPixCode
                              - destinationTaxId
                              - type
                            description: Brazilian PIX details
                            title: PIX BR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccountNumber:
                                type: string
                                description: Bank account number
                              destinationBankName:
                                type: string
                                description: Name of the bank
                              destinationTaxId:
                                type: string
                                pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                description: Tax ID of the recipient
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_VEN
                            required:
                              - destinationName
                              - destinationBankAccountNumber
                              - destinationBankName
                              - destinationTaxId
                              - destinationBankAccountType
                              - type
                            description: Venezuelan bank deposit details
                            title: Bank Deposit VEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationTaxId:
                                type: string
                                pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                description: Tax ID of the recipient
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account
                              type:
                                type: string
                                enum:
                                  - PHONE_DEPOSIT_VEN
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationPhoneNumber
                              - destinationTaxId
                              - destinationBankAccountType
                              - type
                            description: Venezuelan phone deposit details
                            title: Phone Deposit VEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_IN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              India bank deposit details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Bank Deposit IN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - IMPS
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              India IMPS details. Deprecated — no active payout
                              corridor for this method; orders using it are
                              rejected. Retained for backward compatibility with
                              stored destinations.
                            title: IMPS
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - THAI_QR
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Thailand Thai QR details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Thai QR
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - VIET_QR
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Vietnam Viet QR details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Viet QR
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - GCASH
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Philippines GCash details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: GCash
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationTaxId:
                                type: string
                                description: Tax ID
                              type:
                                type: string
                                enum:
                                  - MOBILE_PAYMENT_IN
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - destinationTaxId
                              - type
                            description: >-
                              India mobile payment details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Mobile Payment IN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankCode:
                                type: string
                                description: Bank code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_VN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankCode
                              - type
                            description: >-
                              Vietnam bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit VN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              bic:
                                type: string
                                description: >-
                                  SWIFT BIC code (required for HKD payouts via
                                  the HK bank corridor)
                              destinationBankName:
                                type: string
                                description: Bank name
                              destinationAddress:
                                type: string
                                description: Address line 1 of the recipient
                              destinationCity:
                                type: string
                                description: Recipient city (defaults to Hong Kong)
                              accountHolderName:
                                type: string
                                description: >-
                                  Bank account holder name if different from
                                  payee
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_HK
                            required:
                              - destinationName
                              - destinationBankAccount
                              - bic
                              - destinationBankName
                              - destinationAddress
                              - type
                            description: Hong Kong bank deposit details (HKD bank corridor)
                            title: Bank Deposit HK
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankCode:
                                type: string
                                pattern: ^\d+$
                                description: >-
                                  CNAPS / bank institution code (numeric,
                                  variable length)
                              destinationBankName:
                                type: string
                                description: Bank name
                              destinationAddress:
                                type: string
                                description: Address line 1 of the recipient
                              destinationCity:
                                type: string
                                description: Recipient city
                              destinationState:
                                type: string
                                minLength: 1
                                description: >-
                                  Province / state of the recipient (required
                                  for CN — the beneficiary is rejected in
                                  compliance review without it)
                              destinationPostcode:
                                type: string
                                minLength: 1
                                description: >-
                                  Postal code of the recipient (required for CN
                                  — the beneficiary is rejected in compliance
                                  review without it)
                              destinationPhone:
                                type: string
                                description: >-
                                  Phone number of the recipient, without country
                                  prefix (optional; defaulted for CN when
                                  omitted)
                              destinationTaxId:
                                type: string
                                description: >-
                                  Unified Social Credit Code (USCC, GB
                                  32100-2015) of the recipient company — 18
                                  characters including the check digit;
                                  whitespace is removed and letters are
                                  normalized to uppercase (optional)
                              accountHolderName:
                                type: string
                                description: >-
                                  Bank account holder name if different from
                                  payee
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankCode
                              - destinationBankName
                              - destinationAddress
                              - destinationCity
                              - destinationState
                              - destinationPostcode
                              - type
                            description: >-
                              China mainland bank deposit details (CNY bank
                              corridor)
                            title: Bank Deposit CN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/ARS/networks (the network
                                  selector, optional)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_AR
                              destinationCBU:
                                type: string
                                description: >-
                                  CBU — 22-digit bank account key (legacy,
                                  optional)
                              destinationCVU:
                                type: string
                                description: >-
                                  CVU — 22-digit virtual account key (legacy,
                                  optional)
                              destinationAlias:
                                type: string
                                description: Account alias (legacy, optional)
                              destinationTaxId:
                                type: string
                                description: >-
                                  CUIT/CUIL tax ID of the recipient (required
                                  when creating ARS bank destinations): exactly
                                  11 digits with no hyphens, spaces or other
                                  characters, and a valid check digit (e.g.
                                  20000000001)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Argentinian bank deposit details
                            title: Bank Deposit AR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                minLength: 1
                                description: >-
                                  Recipient bank name (required for Chilean bank
                                  payouts)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CL
                              destinationBankAccountType:
                                type: string
                                minLength: 1
                                description: >-
                                  Account type — corriente or ahorro (required
                                  for Chilean bank payouts)
                              destinationTaxId:
                                type: string
                                minLength: 1
                                description: >-
                                  RUT tax ID of the recipient (required for
                                  Chilean bank payouts)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankName
                              - type
                              - destinationBankAccountType
                              - destinationTaxId
                            description: Chilean bank deposit details
                            title: Bank Deposit CL
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                minLength: 2
                                maxLength: 30
                                description: Recipient name (required, 2–30 characters)
                              destinationBankAccount:
                                type: string
                                minLength: 1
                                maxLength: 11
                                description: >-
                                  Bank account number (max 11 digits for
                                  Bolivian accounts)
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (unused for BOB — no network
                                  discovery)
                              destinationBankName:
                                type: string
                                maxLength: 20
                                description: Bank name (optional, max 20 characters)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BO
                              destinationTaxId:
                                type: string
                                minLength: 1
                                maxLength: 15
                                description: >-
                                  NIT tax ID of the recipient (required for
                                  Bolivian payouts)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                              - destinationTaxId
                            description: Bolivian bank deposit details
                            title: Bank Deposit BO
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/PEN/networks (the network
                                  selector)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_PE
                              destinationCCI:
                                type: string
                                description: >-
                                  CCI — 20-digit interbank account code (legacy,
                                  optional)
                              destinationBankAccountType:
                                type: string
                                description: >-
                                  Account type (corriente/ahorro) (legacy,
                                  optional)
                              destinationTaxId:
                                type: string
                                description: >-
                                  DNI/RUC document ID of the recipient (legacy,
                                  optional)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationNetworkId
                              - type
                            description: >-
                              Peruvian bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit PE
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                pattern: ^\d{3}$
                                description: >-
                                  Recipient bank code (the 3-digit code the rail
                                  expects, not the name)
                              destinationBankAccountNumber:
                                type: string
                                minLength: 1
                                maxLength: 20
                                description: Recipient bank account number (max 20)
                              destinationBankAccountType:
                                type: string
                                enum:
                                  - CORRIENTE
                                  - AHORROS
                                  - PHONE
                                description: Bank account type
                              destinationCCI:
                                type: string
                                pattern: ^\d{1,20}$
                                description: >-
                                  CCI — Peruvian interbank code (required,
                                  digits only, max 20)
                              destinationDocumentType:
                                type: string
                                enum:
                                  - CC
                                  - CE
                                  - RUC
                                  - PAS
                                  - PAR
                                  - LMI
                                  - OTHER
                                description: Recipient identification type
                              destinationTaxId:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: Recipient identification number (max 50)
                              email:
                                type: string
                                pattern: ^.+@.+\..+$
                                description: Recipient email (required for PEN payouts)
                              destinationPhoneNumber:
                                type: string
                                pattern: ^\d{1,9}$
                                description: >-
                                  Recipient phone number (required, max 9
                                  digits)
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_PEN
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccountNumber
                              - destinationBankAccountType
                              - destinationCCI
                              - destinationDocumentType
                              - destinationTaxId
                              - email
                              - destinationPhoneNumber
                              - type
                            description: >-
                              Peruvian bank deposit details (bank-code payout
                              corridor).
                            title: Bank Deposit PEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_NG
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Nigeria bank deposit details
                            title: Bank Deposit NG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_KE
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Kenya bank deposit details
                            title: Bank Deposit KE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_GH
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Ghana bank deposit details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Bank Deposit GH
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZA
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: South Africa bank deposit details
                            title: Bank Deposit ZA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TZ
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Tanzania bank deposit details
                            title: Bank Deposit TZ
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_UG
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Uganda bank deposit details
                            title: Bank Deposit UG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_RW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Rwanda bank deposit details
                            title: Bank Deposit RW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Malawi bank deposit details
                            title: Bank Deposit MW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZM
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Zambia bank deposit details
                            title: Bank Deposit ZM
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Botswana bank deposit details
                            title: Bank Deposit BW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CD
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              DR Congo bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit CD
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XOF
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: West African CFA bank deposit details
                            title: Bank Deposit XOF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XAF
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Central African CFA bank deposit details
                            title: Bank Deposit XAF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_NG
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Nigeria mobile money details
                            title: Mobile Money NG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_KE
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Kenya mobile money details
                            title: Mobile Money KE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_GH
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: >-
                              Ghana mobile money details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Mobile Money GH
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZA
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: South Africa mobile money details
                            title: Mobile Money ZA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_TZ
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Tanzania mobile money details
                            title: Mobile Money TZ
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_UG
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Uganda mobile money details
                            title: Mobile Money UG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_RW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Rwanda mobile money details
                            title: Mobile Money RW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_MW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Malawi mobile money details
                            title: Mobile Money MW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZM
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Zambia mobile money details
                            title: Mobile Money ZM
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_BW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Botswana mobile money details
                            title: Mobile Money BW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_CD
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: >-
                              DR Congo mobile money details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Mobile Money CD
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XOF
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: West African CFA mobile money details
                            title: Mobile Money XOF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XAF
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Central African CFA mobile money details
                            title: Mobile Money XAF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationBankAccountNumber:
                                type: string
                                description: Bank account number (18-digit CLABE)
                              numericReference:
                                type: string
                                description: Numeric reference
                              notesReference:
                                type: string
                                description: Notes reference
                              destinationClabe:
                                type: string
                                description: >-
                                  CLABE — legacy alias, prefer
                                  destinationBankAccountNumber
                              destinationTaxId:
                                type: string
                                description: >-
                                  Recipient tax id (RFC) — required by some MX
                                  bank-deposit rails ("Número de
                                  Identificación"); optional otherwise
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MX
                            required:
                              - destinationName
                              - destinationBankAccountNumber
                              - type
                            description: Mexican bank deposit details
                            title: Bank Deposit MX
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPseNumber:
                                type: string
                                description: PSE number
                              type:
                                type: string
                                enum:
                                  - PSE
                            required:
                              - destinationName
                              - destinationPseNumber
                              - type
                            description: >-
                              PSE transfer details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: PSE
                            deprecated: true
                        description: >-
                          The details required for the end user destination
                          transfer method.
                      status:
                        anyOf:
                          - type: string
                            enum:
                              - Pending
                              - Processing
                              - Success
                              - Failed
                              - Canceled
                              - Reviewing
                            description: >-
                              Common status values that are shared across all
                              operation types
                            examples:
                              - Pending
                              - Processing
                              - Success
                              - Failed
                              - Canceled
                              - Reviewing
                          - type: string
                            enum:
                              - PendingCancel
                              - PendingWithdrawal
                              - PendingVerification
                              - Pending2FA
                              - Compliance
                              - Accepted
                              - Approved
                              - Rejected
                              - Review
                        description: Status of the withdrawal
                        examples:
                          - Pending
                          - Pending2FA
                          - Compliance
                          - Accepted
                          - Approved
                          - Success
                          - Failed
                          - Review
                          - Rejected
                      withdrawalInfo:
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BALANCE
                            required:
                              - type
                            description: Balance transfer details
                            title: Balance
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              iban:
                                type: string
                                description: IBAN number
                              bic:
                                type: string
                                description: BIC number (optional)
                              country:
                                type: string
                                description: Country code
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for SEPA
                                  payouts — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  SEPA payouts — provide it here or in
                                  destinationUserData.postalCode.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as the payout beneficiary
                                  `address.line1` when registering the
                                  beneficiary. Stored on the saved transaction
                                  method so the user does not have to re-supply
                                  it on every withdraw.
                              type:
                                type: string
                                enum:
                                  - SEPA
                            required:
                              - destinationName
                              - iban
                              - country
                              - type
                            description: SEPA transfer details
                            title: SEPA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              accountNumber:
                                type: string
                                description: UK bank account number
                              sortCode:
                                type: string
                                description: UK sort code
                              country:
                                type: string
                                enum:
                                  - GB
                                default: GB
                                description: >-
                                  ISO 3166 country code of the recipient (GBP
                                  transfer is UK-based)
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for this rail
                                  — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  this rail — provide it here or in
                                  destinationUserData.postalCode.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as payee address when creating the
                                  payee.
                              type:
                                type: string
                                enum:
                                  - GBP_BANK_TRANSFER
                            required:
                              - destinationName
                              - accountNumber
                              - sortCode
                              - type
                            description: GBP domestic bank transfer details
                            title: BankDepositGB
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              accountNumber:
                                type: string
                                description: US bank account number
                              routingNumber:
                                type: string
                                description: US ABA routing number
                              country:
                                type: string
                                enum:
                                  - US
                                default: US
                                description: >-
                                  ISO 3166 country code of the recipient (ACH is
                                  US-domestic)
                              accountType:
                                type: string
                                enum:
                                  - PERSONAL
                                  - BUSINESS
                                default: PERSONAL
                                description: Account type (optional)
                              bankAccountType:
                                type: string
                                enum:
                                  - CHECKING
                                  - SAVINGS
                                default: CHECKING
                                description: >-
                                  Kind of bank account the payout lands in.
                                  Defaults to CHECKING when omitted.
                              city:
                                type: string
                                description: >-
                                  City of the recipient. REQUIRED for this rail
                                  — provide it here or in
                                  destinationUserData.city.
                              postalCode:
                                type: string
                                description: >-
                                  Postal code of the recipient. REQUIRED for
                                  this rail — provide it here or in
                                  destinationUserData.postalCode.
                              state:
                                type: string
                                pattern: ^[A-Z]{2}$
                                description: >-
                                  Two-letter US state code of the recipient
                                  (e.g. NY). REQUIRED for this rail.
                              address:
                                type: string
                                description: >-
                                  Street address (line 1) of the recipient.
                                  Forwarded as payee address when creating the
                                  payee.
                              type:
                                type: string
                                enum:
                                  - ACH_US
                            required:
                              - destinationName
                              - accountNumber
                              - routingNumber
                              - state
                              - type
                            description: USD ACH transfer details
                            title: AchUS
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - linkedBankAccount
                              accountLinkId:
                                type: string
                                pattern: ^alnk_[0-9a-f]{24}$
                                description: >-
                                  Identifier of one of the account holder own
                                  linked bank accounts
                                examples:
                                  - alnk_0123456789abcdef01234567
                            required:
                              - type
                              - accountLinkId
                            description: >-
                              A bank account the account holder linked
                              beforehand. Pays out only to the holder of the
                              order; never to a third party. Not available yet.
                            title: LinkedBankAccount
                            deprecated: true
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - ETH
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: ETH destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: ETH
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - MATIC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: MATIC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: MATIC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - SOL
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: SOL destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: SOL
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - TRON
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: TRON destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: TRON
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - CELO
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: CELO destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: CELO
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BTC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BTC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: BTC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - SOLANA
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: SOLANA destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: SOLANA
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - XRP
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: XRP destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: XRP
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - CARDANO
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: CARDANO destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: \S
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: \S
                            title: CARDANO
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BSC
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BSC destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: BSC
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - ARBITRUM
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: ARBITRUM destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: ARBITRUM
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - OPTIMISM
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: OPTIMISM destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: OPTIMISM
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - AVALANCHE
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: AVALANCHE destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: AVALANCHE
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BASE
                              address:
                                type: string
                                description: >-
                                  Destination wallet address. Send this rather
                                  than the legacy `destinationWalletAddress` —
                                  at least one of the two is required, and a
                                  payload carrying neither is rejected. On EVM
                                  chains the address is "0x" followed by 40 hex
                                  characters.
                              memo:
                                type: string
                                description: Memo for the wallet, when the chain uses one
                              txId:
                                type: string
                                description: Blockchain transaction ID
                              txUrlScan:
                                type: string
                                description: Blockchain explorer URL for the transaction
                              destinationWalletAddress:
                                type: string
                                description: >-
                                  Destination wallet address (legacy shape).
                                  Still accepted, but send `address` instead —
                                  at least one of the two is required and
                                  supplying neither is rejected.
                              destinationWalletMemo:
                                type: string
                                description: >-
                                  Memo for the wallet (legacy shape) — send
                                  `memo` instead
                              destinationNetwork:
                                type: string
                                description: >-
                                  Network name, when the corridor addresses the
                                  chain by name rather than by `type`
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Network id from GET
                                  /v1/currencies/{currency}/networks, for
                                  corridors where `supportsNetworkDiscovery` is
                                  true
                              destinationCurrencySymbol:
                                type: string
                                description: >-
                                  Asset symbol on the chain. `type` names the
                                  chain, so this is what separates the native
                                  coin from tokens on it — ETH from
                                  USDC-on-Ethereum.
                            required:
                              - type
                            description: BASE destination details
                            anyOf:
                              - required:
                                  - address
                                properties:
                                  address:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                              - required:
                                  - destinationWalletAddress
                                properties:
                                  destinationWalletAddress:
                                    pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            title: BASE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/COP/networks. Not read by the
                                  payout; retained for the network selector and
                                  for stored records.
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_COL
                              destinationBankCode:
                                type: string
                                description: >-
                                  Recipient bank code — one of the 4-digit codes
                                  published by GET
                                  /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                  (the code, not the name). Required when
                                  creating or updating a destination.
                              destinationBankAccountType:
                                type: string
                                description: >-
                                  Bank account type — CORRIENTE or AHORRO.
                                  Required when creating or updating a
                                  destination.
                              destinationTaxId:
                                type: string
                                description: >-
                                  Recipient ID document number. Required when
                                  creating or updating a destination.
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Recipient ID document type — CC, CE, NIT, TI
                                  or PP. Required when creating or updating a
                                  destination.
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Colombian bank deposit details. Equivalent to
                              ACH_COP — same payout rail, same required fields,
                              same bank roster; ACH_COP is recommended for new
                              integrations. Note that BANK_DEPOSIT_COL is also
                              the name of a COP collection rail.
                            title: Bank Deposit COL
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              brebKey:
                                type: string
                                minLength: 1
                                description: >-
                                  Bre-B key (llave) that identifies the
                                  recipient account
                              email:
                                type: string
                                description: >-
                                  Recipient email (optional contact for the
                                  Bre-B rail)
                              destinationPhoneNumber:
                                type: string
                                description: >-
                                  Recipient phone number (optional contact for
                                  the Bre-B rail)
                              type:
                                type: string
                                enum:
                                  - BRE_B_COP
                            required:
                              - destinationName
                              - brebKey
                              - type
                            description: Colombian Bre-B payout details
                            title: Bre-B COP
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                pattern: ^\d{4}$
                                description: >-
                                  Recipient bank code — one of the 4-digit codes
                                  published by GET
                                  /v1/currencies/COP/destination-schema?method=achCOP
                                  (the code, not the name)
                              destinationBankAccountNumber:
                                type: string
                                minLength: 1
                                description: Recipient bank account number
                              destinationBankAccountType:
                                type: string
                                minLength: 1
                                description: Bank account type (e.g. AHORROS / CORRIENTE)
                              destinationDocumentType:
                                type: string
                                minLength: 1
                                description: >-
                                  Recipient ID document type (e.g. CC / CE /
                                  NIT)
                              destinationTaxId:
                                type: string
                                minLength: 1
                                description: Recipient ID document number
                              type:
                                type: string
                                enum:
                                  - ACH_COP
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccountNumber
                              - destinationBankAccountType
                              - destinationDocumentType
                              - destinationTaxId
                              - type
                            description: Colombian ACH payout details
                            title: ACH COP
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (unused for TWD — no network
                                  discovery)
                              destinationBankName:
                                type: string
                                minLength: 2
                                description: >-
                                  Bank name (required — TWD payouts run over
                                  SWIFT)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TW
                              destinationBankBranch:
                                type: string
                                minLength: 2
                                description: >-
                                  Bank branch (required — TWD payouts run over
                                  SWIFT)
                              bic:
                                type: string
                                pattern: >-
                                  ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                                description: SWIFT BIC code (required for TWD payouts)
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account (legacy, optional)
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient (legacy, optional)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankName
                              - type
                              - destinationBankBranch
                              - bic
                            description: Taiwan bank deposit details (SWIFT payout)
                            title: Bank Deposit TW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankBranch:
                                type: string
                                description: Bank branch
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BR
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccount
                              - destinationBankBranch
                              - destinationTaxId
                              - type
                            description: Brazilian bank deposit details
                            title: Bank Deposit BR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPixCode:
                                type: string
                                description: PIX code
                              destinationTaxId:
                                type: string
                                description: Tax ID of the recipient
                              type:
                                type: string
                                enum:
                                  - PIX_BR
                            required:
                              - destinationName
                              - destinationPixCode
                              - destinationTaxId
                              - type
                            description: Brazilian PIX details
                            title: PIX BR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccountNumber:
                                type: string
                                description: Bank account number
                              destinationBankName:
                                type: string
                                description: Name of the bank
                              destinationTaxId:
                                type: string
                                pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                description: Tax ID of the recipient
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_VEN
                            required:
                              - destinationName
                              - destinationBankAccountNumber
                              - destinationBankName
                              - destinationTaxId
                              - destinationBankAccountType
                              - type
                            description: Venezuelan bank deposit details
                            title: Bank Deposit VEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationTaxId:
                                type: string
                                pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                description: Tax ID of the recipient
                              destinationBankAccountType:
                                type: string
                                description: Type of bank account
                              type:
                                type: string
                                enum:
                                  - PHONE_DEPOSIT_VEN
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationPhoneNumber
                              - destinationTaxId
                              - destinationBankAccountType
                              - type
                            description: Venezuelan phone deposit details
                            title: Phone Deposit VEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_IN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              India bank deposit details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Bank Deposit IN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - IMPS
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              India IMPS details. Deprecated — no active payout
                              corridor for this method; orders using it are
                              rejected. Retained for backward compatibility with
                              stored destinations.
                            title: IMPS
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - THAI_QR
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Thailand Thai QR details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Thai QR
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - VIET_QR
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Vietnam Viet QR details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Viet QR
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationIFSC:
                                type: string
                                description: IFSC code
                              type:
                                type: string
                                enum:
                                  - GCASH
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Philippines GCash details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: GCash
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationTaxId:
                                type: string
                                description: Tax ID
                              type:
                                type: string
                                enum:
                                  - MOBILE_PAYMENT_IN
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - destinationTaxId
                              - type
                            description: >-
                              India mobile payment details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Mobile Payment IN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankCode:
                                type: string
                                description: Bank code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_VN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankCode
                              - type
                            description: >-
                              Vietnam bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit VN
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              bic:
                                type: string
                                description: >-
                                  SWIFT BIC code (required for HKD payouts via
                                  the HK bank corridor)
                              destinationBankName:
                                type: string
                                description: Bank name
                              destinationAddress:
                                type: string
                                description: Address line 1 of the recipient
                              destinationCity:
                                type: string
                                description: Recipient city (defaults to Hong Kong)
                              accountHolderName:
                                type: string
                                description: >-
                                  Bank account holder name if different from
                                  payee
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_HK
                            required:
                              - destinationName
                              - destinationBankAccount
                              - bic
                              - destinationBankName
                              - destinationAddress
                              - type
                            description: Hong Kong bank deposit details (HKD bank corridor)
                            title: Bank Deposit HK
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationBankCode:
                                type: string
                                pattern: ^\d+$
                                description: >-
                                  CNAPS / bank institution code (numeric,
                                  variable length)
                              destinationBankName:
                                type: string
                                description: Bank name
                              destinationAddress:
                                type: string
                                description: Address line 1 of the recipient
                              destinationCity:
                                type: string
                                description: Recipient city
                              destinationState:
                                type: string
                                minLength: 1
                                description: >-
                                  Province / state of the recipient (required
                                  for CN — the beneficiary is rejected in
                                  compliance review without it)
                              destinationPostcode:
                                type: string
                                minLength: 1
                                description: >-
                                  Postal code of the recipient (required for CN
                                  — the beneficiary is rejected in compliance
                                  review without it)
                              destinationPhone:
                                type: string
                                description: >-
                                  Phone number of the recipient, without country
                                  prefix (optional; defaulted for CN when
                                  omitted)
                              destinationTaxId:
                                type: string
                                description: >-
                                  Unified Social Credit Code (USCC, GB
                                  32100-2015) of the recipient company — 18
                                  characters including the check digit;
                                  whitespace is removed and letters are
                                  normalized to uppercase (optional)
                              accountHolderName:
                                type: string
                                description: >-
                                  Bank account holder name if different from
                                  payee
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CN
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankCode
                              - destinationBankName
                              - destinationAddress
                              - destinationCity
                              - destinationState
                              - destinationPostcode
                              - type
                            description: >-
                              China mainland bank deposit details (CNY bank
                              corridor)
                            title: Bank Deposit CN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/ARS/networks (the network
                                  selector, optional)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_AR
                              destinationCBU:
                                type: string
                                description: >-
                                  CBU — 22-digit bank account key (legacy,
                                  optional)
                              destinationCVU:
                                type: string
                                description: >-
                                  CVU — 22-digit virtual account key (legacy,
                                  optional)
                              destinationAlias:
                                type: string
                                description: Account alias (legacy, optional)
                              destinationTaxId:
                                type: string
                                description: >-
                                  CUIT/CUIL tax ID of the recipient (required
                                  when creating ARS bank destinations): exactly
                                  11 digits with no hyphens, spaces or other
                                  characters, and a valid check digit (e.g.
                                  20000000001)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Argentinian bank deposit details
                            title: Bank Deposit AR
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                minLength: 1
                                description: >-
                                  Recipient bank name (required for Chilean bank
                                  payouts)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CL
                              destinationBankAccountType:
                                type: string
                                minLength: 1
                                description: >-
                                  Account type — corriente or ahorro (required
                                  for Chilean bank payouts)
                              destinationTaxId:
                                type: string
                                minLength: 1
                                description: >-
                                  RUT tax ID of the recipient (required for
                                  Chilean bank payouts)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationBankName
                              - type
                              - destinationBankAccountType
                              - destinationTaxId
                            description: Chilean bank deposit details
                            title: Bank Deposit CL
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                minLength: 2
                                maxLength: 30
                                description: Recipient name (required, 2–30 characters)
                              destinationBankAccount:
                                type: string
                                minLength: 1
                                maxLength: 11
                                description: >-
                                  Bank account number (max 11 digits for
                                  Bolivian accounts)
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (unused for BOB — no network
                                  discovery)
                              destinationBankName:
                                type: string
                                maxLength: 20
                                description: Bank name (optional, max 20 characters)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BO
                              destinationTaxId:
                                type: string
                                minLength: 1
                                maxLength: 15
                                description: >-
                                  NIT tax ID of the recipient (required for
                                  Bolivian payouts)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                              - destinationTaxId
                            description: Bolivian bank deposit details
                            title: Bank Deposit BO
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id from GET
                                  /v1/currencies/PEN/networks (the network
                                  selector)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_PE
                              destinationCCI:
                                type: string
                                description: >-
                                  CCI — 20-digit interbank account code (legacy,
                                  optional)
                              destinationBankAccountType:
                                type: string
                                description: >-
                                  Account type (corriente/ahorro) (legacy,
                                  optional)
                              destinationTaxId:
                                type: string
                                description: >-
                                  DNI/RUC document ID of the recipient (legacy,
                                  optional)
                              destinationDocumentType:
                                type: string
                                description: >-
                                  Document type of the recipient (legacy,
                                  optional)
                            required:
                              - destinationName
                              - destinationBankAccount
                              - destinationNetworkId
                              - type
                            description: >-
                              Peruvian bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit PE
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                pattern: ^\d{3}$
                                description: >-
                                  Recipient bank code (the 3-digit code the rail
                                  expects, not the name)
                              destinationBankAccountNumber:
                                type: string
                                minLength: 1
                                maxLength: 20
                                description: Recipient bank account number (max 20)
                              destinationBankAccountType:
                                type: string
                                enum:
                                  - CORRIENTE
                                  - AHORROS
                                  - PHONE
                                description: Bank account type
                              destinationCCI:
                                type: string
                                pattern: ^\d{1,20}$
                                description: >-
                                  CCI — Peruvian interbank code (required,
                                  digits only, max 20)
                              destinationDocumentType:
                                type: string
                                enum:
                                  - CC
                                  - CE
                                  - RUC
                                  - PAS
                                  - PAR
                                  - LMI
                                  - OTHER
                                description: Recipient identification type
                              destinationTaxId:
                                type: string
                                minLength: 1
                                maxLength: 50
                                description: Recipient identification number (max 50)
                              email:
                                type: string
                                pattern: ^.+@.+\..+$
                                description: Recipient email (required for PEN payouts)
                              destinationPhoneNumber:
                                type: string
                                pattern: ^\d{1,9}$
                                description: >-
                                  Recipient phone number (required, max 9
                                  digits)
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_PEN
                            required:
                              - destinationName
                              - destinationBankCode
                              - destinationBankAccountNumber
                              - destinationBankAccountType
                              - destinationCCI
                              - destinationDocumentType
                              - destinationTaxId
                              - email
                              - destinationPhoneNumber
                              - type
                            description: >-
                              Peruvian bank deposit details (bank-code payout
                              corridor).
                            title: Bank Deposit PEN
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_NG
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Nigeria bank deposit details
                            title: Bank Deposit NG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_KE
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Kenya bank deposit details
                            title: Bank Deposit KE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_GH
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              Ghana bank deposit details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Bank Deposit GH
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZA
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: South Africa bank deposit details
                            title: Bank Deposit ZA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_TZ
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Tanzania bank deposit details
                            title: Bank Deposit TZ
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_UG
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Uganda bank deposit details
                            title: Bank Deposit UG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_RW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Rwanda bank deposit details
                            title: Bank Deposit RW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Malawi bank deposit details
                            title: Bank Deposit MW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_ZM
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Zambia bank deposit details
                            title: Bank Deposit ZM
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_BW
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Botswana bank deposit details
                            title: Bank Deposit BW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_CD
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: >-
                              DR Congo bank deposit details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Bank Deposit CD
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XOF
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: West African CFA bank deposit details
                            title: Bank Deposit XOF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankAccount:
                                type: string
                                description: Bank account
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationBankName is given)
                              destinationBankName:
                                type: string
                                description: >-
                                  Bank name (used to resolve the network when id
                                  is omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_XAF
                            required:
                              - destinationName
                              - destinationBankAccount
                              - type
                            description: Central African CFA bank deposit details
                            title: Bank Deposit XAF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_NG
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Nigeria mobile money details
                            title: Mobile Money NG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_KE
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Kenya mobile money details
                            title: Mobile Money KE
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_GH
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: >-
                              Ghana mobile money details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: Mobile Money GH
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZA
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: South Africa mobile money details
                            title: Mobile Money ZA
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_TZ
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Tanzania mobile money details
                            title: Mobile Money TZ
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_UG
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Uganda mobile money details
                            title: Mobile Money UG
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_RW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Rwanda mobile money details
                            title: Mobile Money RW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_MW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Malawi mobile money details
                            title: Mobile Money MW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_ZM
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Zambia mobile money details
                            title: Mobile Money ZM
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_BW
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Botswana mobile money details
                            title: Mobile Money BW
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_CD
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: >-
                              DR Congo mobile money details. Deprecated — no
                              active payout corridor for this method; orders
                              using it are rejected. Retained for backward
                              compatibility with stored destinations.
                            title: Mobile Money CD
                            deprecated: true
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XOF
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: West African CFA mobile money details
                            title: Mobile Money XOF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPhoneNumber:
                                type: string
                                description: Phone number
                              destinationNetworkId:
                                type: string
                                description: >-
                                  Payout network id (optional if
                                  destinationNetworkName is given)
                              destinationNetworkName:
                                type: string
                                description: >-
                                  Mobile money network name (resolves the
                                  network when id omitted)
                              country:
                                type: string
                                description: ISO 3166 country code
                              type:
                                type: string
                                enum:
                                  - MOBILE_MONEY_XAF
                            required:
                              - destinationName
                              - destinationPhoneNumber
                              - type
                            description: Central African CFA mobile money details
                            title: Mobile Money XAF
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationBankCode:
                                type: string
                                description: Bank code
                              destinationBankAccountNumber:
                                type: string
                                description: Bank account number (18-digit CLABE)
                              numericReference:
                                type: string
                                description: Numeric reference
                              notesReference:
                                type: string
                                description: Notes reference
                              destinationClabe:
                                type: string
                                description: >-
                                  CLABE — legacy alias, prefer
                                  destinationBankAccountNumber
                              destinationTaxId:
                                type: string
                                description: >-
                                  Recipient tax id (RFC) — required by some MX
                                  bank-deposit rails ("Número de
                                  Identificación"); optional otherwise
                              type:
                                type: string
                                enum:
                                  - BANK_DEPOSIT_MX
                            required:
                              - destinationName
                              - destinationBankAccountNumber
                              - type
                            description: Mexican bank deposit details
                            title: Bank Deposit MX
                          - type: object
                            properties:
                              destinationName:
                                type: string
                                description: Name of the recipient
                              destinationPseNumber:
                                type: string
                                description: PSE number
                              type:
                                type: string
                                enum:
                                  - PSE
                            required:
                              - destinationName
                              - destinationPseNumber
                              - type
                            description: >-
                              PSE transfer details. Deprecated — no active
                              payout corridor for this method; orders using it
                              are rejected. Retained for backward compatibility
                              with stored destinations.
                            title: PSE
                            deprecated: true
                        description: Detailed withdrawal information
                        title: WithdrawalInfo
                      source:
                        type: string
                        enum:
                          - ui
                          - apiApp
                          - externalApi
                          - internal
                        description: Source of withdrawal creation
                        example: externalApi
                      requires2FA:
                        type: boolean
                        description: Whether 2FA is required for this withdrawal
                        example: false
                      twoFactorToken:
                        type: string
                        description: 2FA token for email approval
                        example: abc123
                      twoFactorApprovedAt:
                        type: number
                        description: Timestamp when 2FA was approved
                        example: 1723027132
                      errorCode:
                        type: string
                        description: Error code when status is Review
                        example: INSUFFICIENT_BALANCE
                      errorDetails:
                        type: string
                        description: Detailed error information
                        example: Insufficient balance for withdrawal
                      reviewedBy:
                        type: string
                        description: Admin email who reviewed the withdrawal
                        example: admin@example.com
                      reviewedAt:
                        type: number
                        description: Timestamp when review happened
                        example: 1723027132
                    required:
                      - withdrawalId
                      - createdAt
                      - amount
                      - currency
                      - fee
                      - feeCurrency
                      - status
                    description: Details of the withdrawal associated with the order
                  createdAt:
                    type: number
                    description: Creation time of the order (timestamp)
                    examples:
                      - 1723027132
                      - 1723027200
                      - 1723027300
                  updatedAt:
                    type: number
                    description: Last update time of the order (timestamp)
                    examples:
                      - 1723027132
                      - 1723027200
                      - 1723027300
                  status:
                    type: string
                    enum:
                      - Pending
                      - Processing
                      - Reviewing
                      - Success
                      - Failed
                      - Canceled
                    description: Current status of the order
                    title: OrderStatus
                    examples:
                      - Pending
                      - Processing
                      - Reviewing
                      - Success
                      - Failed
                  externalReference:
                    type: string
                    description: >-
                      External reference of the order, as you supplied it on
                      create.
                  externalRefeference:
                    type: string
                    description: >-
                      Deprecated misspelling of `externalReference` — same
                      value. Read `externalReference` instead; this key remains
                      for backward compatibility and will be removed in a future
                      major version.
                    deprecated: true
                  fee:
                    type: number
                    minimum: 0
                    description: >-
                      Total fee for the order once all the execution is
                      completed
                    examples:
                      - 6.37
                      - 8.5
                      - 10.25
                  expectedFee:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: Expected fee given the initial deposit amount
                    examples:
                      - 6.88
                      - 9.2
                      - 11.5
                  expectedGasFee:
                    type: number
                    description: Expected gas fee if the withdrawal is with crypto
                    examples:
                      - 6.88
                      - 8.5
                      - 10.25
                  feeCurrency:
                    type: string
                    description: Currency of the fee
                    examples:
                      - EUR
                      - USD
                      - GBP
                required:
                  - orderId
                  - createdAt
                  - status
                  - fee
                  - expectedFee
                  - feeCurrency
                description: Response schema for getting details of a specific order
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/orders/ord_7Ka9dP2x", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/orders/ord_7Ka9dP2x",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/orders/ord_7Ka9dP2x" \
              -H "Authorization: Bearer $VB_TOKEN"
    delete:
      summary: Delete order
      description: >-
        This endpoint cancels a specific order. The order must be in status
        PENDING. After a successful call, the order becomes PendingCancel and
        then Canceled once processing completes.
      tags:
        - Orders
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 12
            maxLength: 12
            pattern: ^[A-Z0-9]{12}$
            description: ID of the order
            examples:
              - 01CLFXMT67II
              - 2R7E5Y5KFXP8
              - 4FWWRE3Y2URM
          required: true
          description: ID of the order
          name: orderId
          in: path
      responses:
        '200':
          description: Successful cancelation of order
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the deletion was successful
                  message:
                    type: string
                    description: Success message
                required:
                  - success
                description: Response schema for deleting a specific order
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/orders/ord_7Ka9dP2x", {
                method: "DELETE",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.delete(
                "https://api.virtuabroker.com/v1/orders/ord_7Ka9dP2x",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X DELETE "https://api.virtuabroker.com/v1/orders/ord_7Ka9dP2x"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/orders/{orderId}/confirm-payin:
    post:
      summary: Confirm payin for an order
      description: >-
        This endpoint confirms a payin transaction for a specific order by
        providing the reference ID of the payment. For IMPS (India), provide the
        UTR you receive after completing the transfer as the referenceId.
      tags:
        - Orders
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: ID of the order
          required: true
          description: ID of the order
          name: orderId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                orderId:
                  type: string
                  minLength: 12
                  maxLength: 12
                  pattern: ^[A-Z0-9]{12}$
                  description: ID of the order
                  examples:
                    - 01CLFXMT67II
                    - 2R7E5Y5KFXP8
                    - 4FWWRE3Y2URM
                referenceId:
                  type: string
                  description: >-
                    Reference ID of the payin, for India is the UTR given after
                    the payment
                  examples:
                    - '123'
                    - '456'
                    - '789'
              required:
                - orderId
                - referenceId
              description: Request schema for confirming a payin
      responses:
        '200':
          description: Successful payin confirmation
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the payin was confirmed successfully
                  message:
                    type: string
                    description: Success message
                required:
                  - success
                description: Response schema for confirming a payin
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/orders/ord_7Ka9dP2x/confirm-payin",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "orderId": "01CLFXMT67II",
                  "referenceId": "123"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/orders/ord_7Ka9dP2x/confirm-payin",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "orderId": "01CLFXMT67II",
                    "referenceId": "123"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/orders/ord_7Ka9dP2x/confirm-payin"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "orderId": "01CLFXMT67II",
              "referenceId": "123"
            }'
  /v1/kyc:
    post:
      summary: Create KYC request
      description: >-
        Starts or continues identity verification (KYC) for a user in your
        workspace. Request and response fields are documented on the
        **CreateKYCRequest** and **CreateKYCResponse** schemas.
      tags:
        - KYC
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                userEmail:
                  type: string
                  minLength: 1
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: >-
                    User email. Must match your workspace account onboarding
                    rules.
                userPhone:
                  type: string
                  description: >-
                    Optional. Required for some corridors (e.g. India, Turkey).
                    Format: country code with `+`, a hyphen, then the number
                    (e.g. +44-7700900123).
                externalUserId:
                  type: string
                  description: >-
                    Optional. Your own user identifier in your system, if you
                    track users externally.
                countryCode:
                  type: string
                  enum:
                    - AW
                    - AF
                    - AO
                    - AI
                    - AX
                    - AL
                    - AD
                    - AE
                    - AR
                    - AM
                    - AS
                    - AQ
                    - TF
                    - AG
                    - AU
                    - AT
                    - AZ
                    - BI
                    - BE
                    - BJ
                    - BQ
                    - BF
                    - BD
                    - BG
                    - BH
                    - BS
                    - BA
                    - BL
                    - BY
                    - BZ
                    - BM
                    - BO
                    - BR
                    - BB
                    - BN
                    - BT
                    - BV
                    - BW
                    - CF
                    - CA
                    - CC
                    - CH
                    - CL
                    - CN
                    - CI
                    - CM
                    - CD
                    - CG
                    - CK
                    - CO
                    - KM
                    - CV
                    - CR
                    - CU
                    - CW
                    - CX
                    - KY
                    - CY
                    - CZ
                    - DE
                    - DJ
                    - DM
                    - DK
                    - DO
                    - DZ
                    - EC
                    - EG
                    - ER
                    - EH
                    - ES
                    - EE
                    - ET
                    - FI
                    - FJ
                    - FK
                    - FR
                    - FO
                    - FM
                    - GA
                    - GB
                    - GE
                    - GG
                    - GH
                    - GI
                    - GN
                    - GP
                    - GM
                    - GW
                    - GQ
                    - GR
                    - GD
                    - GL
                    - GT
                    - GF
                    - GU
                    - GY
                    - HK
                    - HM
                    - HN
                    - HR
                    - HT
                    - HU
                    - ID
                    - IM
                    - IN
                    - IO
                    - IE
                    - IR
                    - IQ
                    - IS
                    - IL
                    - IT
                    - JM
                    - JE
                    - JO
                    - JP
                    - KZ
                    - KE
                    - KG
                    - KH
                    - KI
                    - KN
                    - KR
                    - KW
                    - LA
                    - LB
                    - LR
                    - LY
                    - LC
                    - LI
                    - LK
                    - LS
                    - LT
                    - LU
                    - LV
                    - MO
                    - MF
                    - MA
                    - MC
                    - MD
                    - MG
                    - MV
                    - MX
                    - MH
                    - MK
                    - ML
                    - MT
                    - MM
                    - ME
                    - MN
                    - MP
                    - MZ
                    - MR
                    - MS
                    - MQ
                    - MU
                    - MW
                    - MY
                    - YT
                    - NA
                    - NC
                    - NE
                    - NF
                    - NG
                    - NI
                    - NU
                    - NL
                    - 'NO'
                    - NP
                    - NR
                    - NZ
                    - OM
                    - PK
                    - PA
                    - PN
                    - PE
                    - PH
                    - PW
                    - PG
                    - PL
                    - PR
                    - KP
                    - PT
                    - PY
                    - PS
                    - PF
                    - QA
                    - RE
                    - RO
                    - RU
                    - RW
                    - SA
                    - SD
                    - SN
                    - SG
                    - GS
                    - SH
                    - SJ
                    - SB
                    - SL
                    - SV
                    - SM
                    - SO
                    - PM
                    - RS
                    - SS
                    - ST
                    - SR
                    - SK
                    - SI
                    - SE
                    - SZ
                    - SX
                    - SC
                    - SY
                    - TC
                    - TD
                    - TG
                    - TH
                    - TJ
                    - TK
                    - TM
                    - TL
                    - TO
                    - TT
                    - TN
                    - TR
                    - TV
                    - TW
                    - TZ
                    - UG
                    - UA
                    - UM
                    - UY
                    - US
                    - UZ
                    - VA
                    - VC
                    - VE
                    - VG
                    - VI
                    - VN
                    - VU
                    - WF
                    - WS
                    - YE
                    - ZA
                    - ZM
                    - ZW
                  description: >-
                    ISO 3166-1 alpha-2 issuing country (e.g. ES, GB).
                    Pre-selects the country in the hosted verification widget;
                    the backend maps it to ISO alpha-3 for the provider WebSDK.
                sendOTPMail:
                  type: boolean
                  description: >-
                    Whether to send an OTP email to the user. Exact behavior
                    follows your integration contract with VirtuaBroker.
                type:
                  type: string
                  enum:
                    - INDIVIDUAL
                    - BUSINESS
                  description: >-
                    KYC category: `INDIVIDUAL` for a natural person or
                    `BUSINESS` for a business flow, per your product setup.
                language:
                  type: string
                  description: >-
                    Optional. Widget UI language and access-token locale (e.g.
                    en, es, fr). If omitted or blank, `en` is used. Use codes
                    supported by the verification provider WebSDK.
                theme:
                  type: string
                  enum:
                    - dark
                    - light
                  description: >-
                    Optional. Hosted widget theme for the provider WebSDK.
                    **Default: dark** (omit or send `dark`). Send `light` only
                    for light mode.
                blank:
                  type: boolean
                  description: >-
                    Optional. If `true`, the hosted widget page uses blank
                    framing (minimal chrome: no extra branding, borders, or
                    padding around the iframe).
                width:
                  type: string
                  description: >-
                    Optional. CSS width for the widget container on the hosted
                    page (e.g. `100%`, `800px`, `1200px`).
                height:
                  type: string
                  description: >-
                    Optional. CSS height for the widget container on the hosted
                    page (e.g. `100vh`, `600px`, `auto`).
                forceMobile:
                  type: boolean
                  description: >-
                    Optional. If `true`, forces the verification widget to
                    render its mobile layout regardless of the screen width.
                successUrl:
                  type: string
                  format: uri
                  description: >-
                    Optional. URL the user is redirected to after completing
                    verification, where the hosted verification flow supports
                    it. Ignored when no redirect is supported.
                errorUrl:
                  type: string
                  format: uri
                  description: >-
                    Optional. URL the user is redirected to if verification
                    fails/cancels, where the provider supports it. Ignored by
                    providers that expose no redirect.
              required:
                - userEmail
                - countryCode
                - sendOTPMail
                - type
              description: >-
                Request body for starting or continuing KYC. Required fields are
                sent on every call; optional fields tune the hosted verification
                widget and token locale.
      responses:
        '200':
          description: >-
            Successful KYC request. Body matches **CreateKYCResponse**; see that
            schema for `kycUrl`, `status`, and other fields.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the API call completed successfully.
                  kycUrl:
                    type: string
                    description: >-
                      Present when the user must complete verification: open
                      this URL in a browser or WebView to run the hosted widget.
                      Omitted when the user is already approved or no widget
                      step is needed.
                  kycId:
                    type: string
                    description: Your KYC reference ID, used for support and correlation.
                  userEmail:
                    type: string
                    description: Echo of the user email from the request.
                  missingInfo:
                    type: object
                    properties:
                      firstName:
                        type: string
                        description: First name
                      lastName:
                        type: string
                        description: Last name
                      email:
                        type: string
                        description: Email
                      phone:
                        type: string
                        description: Phone
                    description: >-
                      If present, fields the user still needs to provide before
                      verification can continue.
                  status:
                    type: string
                    enum:
                      - PENDING
                      - REVIEWING
                      - IN_PROGRESS
                      - APPROVED
                      - REJECTED
                      - NOT_AVAILABLE
                    description: >-
                      Current KYC status in the external API enum (e.g. PENDING,
                      APPROVED).
                  missingFields:
                    type: array
                    items:
                      type: string
                    description: >-
                      Identity fields the user must still provide (via POST
                      /v1/kyc/data) before verification can start. Present when
                      the configured provider needs profile data that is not yet
                      on file; when non-empty, `kycUrl` is omitted.
                  errorMessage:
                    type: string
                    description: >-
                      Human-readable error when `success` is false or the
                      operation could not complete.
                required:
                  - success
                description: >-
                  Response from POST /v1/kyc: outcome, optional widget URL, and
                  verification status.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: |-
            const res = await fetch("https://api.virtuabroker.com/v1/kyc", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "userEmail": "string",
                  "userPhone": "string",
                  "externalUserId": "string",
                  "countryCode": "AW",
                  "sendOTPMail": true,
                  "type": "INDIVIDUAL",
                  "language": "string",
                  "theme": "dark",
                  "blank": true,
                  "width": "string",
                  "height": "string",
                  "forceMobile": true,
                  "successUrl": "string",
                  "errorUrl": "string"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/kyc",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "userEmail": "string",
                    "userPhone": "string",
                    "externalUserId": "string",
                    "countryCode": "AW",
                    "sendOTPMail": True,
                    "type": "INDIVIDUAL",
                    "language": "string",
                    "theme": "dark",
                    "blank": True,
                    "width": "string",
                    "height": "string",
                    "forceMobile": True,
                    "successUrl": "string",
                    "errorUrl": "string"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/kyc" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "userEmail": "string",
              "userPhone": "string",
              "externalUserId": "string",
              "countryCode": "AW",
              "sendOTPMail": true,
              "type": "INDIVIDUAL",
              "language": "string",
              "theme": "dark",
              "blank": true,
              "width": "string",
              "height": "string",
              "forceMobile": true,
              "successUrl": "string",
              "errorUrl": "string"
            }'
  /v1/kyc/data:
    post:
      summary: Save KYC data
      description: >-
        Pre-supplies provider-neutral KYC data you already hold for a user, so
        the hosted verification form only asks for what is still missing. Send
        `userEmail` plus any subset of KYC fields (name, birthdate, nationality,
        phone, employmentStatus, fundsOrigin, document, addresses, …) at the
        request root; calls merge over previously stored data. The response
        lists which required fields are now present (**providedFields**) and
        which the user must still complete (**missingFields**). Request and
        response fields are documented on the **SaveKYCProfileRequest** and
        **SaveKYCProfileResponse** schemas.
      tags:
        - KYC
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                userEmail:
                  type: string
                  minLength: 1
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: >-
                    User email. Must match your workspace account onboarding
                    rules.
                firstName:
                  type: string
                  minLength: 1
                lastName:
                  type: string
                  minLength: 1
                birthdate:
                  type: string
                  minLength: 1
                  description: ISO 8601
                birthCountry:
                  type: string
                  enum:
                    - AW
                    - AF
                    - AO
                    - AI
                    - AX
                    - AL
                    - AD
                    - AE
                    - AR
                    - AM
                    - AS
                    - AQ
                    - TF
                    - AG
                    - AU
                    - AT
                    - AZ
                    - BI
                    - BE
                    - BJ
                    - BQ
                    - BF
                    - BD
                    - BG
                    - BH
                    - BS
                    - BA
                    - BL
                    - BY
                    - BZ
                    - BM
                    - BO
                    - BR
                    - BB
                    - BN
                    - BT
                    - BV
                    - BW
                    - CF
                    - CA
                    - CC
                    - CH
                    - CL
                    - CN
                    - CI
                    - CM
                    - CD
                    - CG
                    - CK
                    - CO
                    - KM
                    - CV
                    - CR
                    - CU
                    - CW
                    - CX
                    - KY
                    - CY
                    - CZ
                    - DE
                    - DJ
                    - DM
                    - DK
                    - DO
                    - DZ
                    - EC
                    - EG
                    - ER
                    - EH
                    - ES
                    - EE
                    - ET
                    - FI
                    - FJ
                    - FK
                    - FR
                    - FO
                    - FM
                    - GA
                    - GB
                    - GE
                    - GG
                    - GH
                    - GI
                    - GN
                    - GP
                    - GM
                    - GW
                    - GQ
                    - GR
                    - GD
                    - GL
                    - GT
                    - GF
                    - GU
                    - GY
                    - HK
                    - HM
                    - HN
                    - HR
                    - HT
                    - HU
                    - ID
                    - IM
                    - IN
                    - IO
                    - IE
                    - IR
                    - IQ
                    - IS
                    - IL
                    - IT
                    - JM
                    - JE
                    - JO
                    - JP
                    - KZ
                    - KE
                    - KG
                    - KH
                    - KI
                    - KN
                    - KR
                    - KW
                    - LA
                    - LB
                    - LR
                    - LY
                    - LC
                    - LI
                    - LK
                    - LS
                    - LT
                    - LU
                    - LV
                    - MO
                    - MF
                    - MA
                    - MC
                    - MD
                    - MG
                    - MV
                    - MX
                    - MH
                    - MK
                    - ML
                    - MT
                    - MM
                    - ME
                    - MN
                    - MP
                    - MZ
                    - MR
                    - MS
                    - MQ
                    - MU
                    - MW
                    - MY
                    - YT
                    - NA
                    - NC
                    - NE
                    - NF
                    - NG
                    - NI
                    - NU
                    - NL
                    - 'NO'
                    - NP
                    - NR
                    - NZ
                    - OM
                    - PK
                    - PA
                    - PN
                    - PE
                    - PH
                    - PW
                    - PG
                    - PL
                    - PR
                    - KP
                    - PT
                    - PY
                    - PS
                    - PF
                    - QA
                    - RE
                    - RO
                    - RU
                    - RW
                    - SA
                    - SD
                    - SN
                    - SG
                    - GS
                    - SH
                    - SJ
                    - SB
                    - SL
                    - SV
                    - SM
                    - SO
                    - PM
                    - RS
                    - SS
                    - ST
                    - SR
                    - SK
                    - SI
                    - SE
                    - SZ
                    - SX
                    - SC
                    - SY
                    - TC
                    - TD
                    - TG
                    - TH
                    - TJ
                    - TK
                    - TM
                    - TL
                    - TO
                    - TT
                    - TN
                    - TR
                    - TV
                    - TW
                    - TZ
                    - UG
                    - UA
                    - UM
                    - UY
                    - US
                    - UZ
                    - VA
                    - VC
                    - VE
                    - VG
                    - VI
                    - VN
                    - VU
                    - WF
                    - WS
                    - YE
                    - ZA
                    - ZM
                    - ZW
                  description: Country of birth, ISO 3166-1 alpha-2
                gender:
                  type: string
                  enum:
                    - male
                    - female
                    - N/D
                nationality:
                  type: string
                  enum:
                    - AW
                    - AF
                    - AO
                    - AI
                    - AX
                    - AL
                    - AD
                    - AE
                    - AR
                    - AM
                    - AS
                    - AQ
                    - TF
                    - AG
                    - AU
                    - AT
                    - AZ
                    - BI
                    - BE
                    - BJ
                    - BQ
                    - BF
                    - BD
                    - BG
                    - BH
                    - BS
                    - BA
                    - BL
                    - BY
                    - BZ
                    - BM
                    - BO
                    - BR
                    - BB
                    - BN
                    - BT
                    - BV
                    - BW
                    - CF
                    - CA
                    - CC
                    - CH
                    - CL
                    - CN
                    - CI
                    - CM
                    - CD
                    - CG
                    - CK
                    - CO
                    - KM
                    - CV
                    - CR
                    - CU
                    - CW
                    - CX
                    - KY
                    - CY
                    - CZ
                    - DE
                    - DJ
                    - DM
                    - DK
                    - DO
                    - DZ
                    - EC
                    - EG
                    - ER
                    - EH
                    - ES
                    - EE
                    - ET
                    - FI
                    - FJ
                    - FK
                    - FR
                    - FO
                    - FM
                    - GA
                    - GB
                    - GE
                    - GG
                    - GH
                    - GI
                    - GN
                    - GP
                    - GM
                    - GW
                    - GQ
                    - GR
                    - GD
                    - GL
                    - GT
                    - GF
                    - GU
                    - GY
                    - HK
                    - HM
                    - HN
                    - HR
                    - HT
                    - HU
                    - ID
                    - IM
                    - IN
                    - IO
                    - IE
                    - IR
                    - IQ
                    - IS
                    - IL
                    - IT
                    - JM
                    - JE
                    - JO
                    - JP
                    - KZ
                    - KE
                    - KG
                    - KH
                    - KI
                    - KN
                    - KR
                    - KW
                    - LA
                    - LB
                    - LR
                    - LY
                    - LC
                    - LI
                    - LK
                    - LS
                    - LT
                    - LU
                    - LV
                    - MO
                    - MF
                    - MA
                    - MC
                    - MD
                    - MG
                    - MV
                    - MX
                    - MH
                    - MK
                    - ML
                    - MT
                    - MM
                    - ME
                    - MN
                    - MP
                    - MZ
                    - MR
                    - MS
                    - MQ
                    - MU
                    - MW
                    - MY
                    - YT
                    - NA
                    - NC
                    - NE
                    - NF
                    - NG
                    - NI
                    - NU
                    - NL
                    - 'NO'
                    - NP
                    - NR
                    - NZ
                    - OM
                    - PK
                    - PA
                    - PN
                    - PE
                    - PH
                    - PW
                    - PG
                    - PL
                    - PR
                    - KP
                    - PT
                    - PY
                    - PS
                    - PF
                    - QA
                    - RE
                    - RO
                    - RU
                    - RW
                    - SA
                    - SD
                    - SN
                    - SG
                    - GS
                    - SH
                    - SJ
                    - SB
                    - SL
                    - SV
                    - SM
                    - SO
                    - PM
                    - RS
                    - SS
                    - ST
                    - SR
                    - SK
                    - SI
                    - SE
                    - SZ
                    - SX
                    - SC
                    - SY
                    - TC
                    - TD
                    - TG
                    - TH
                    - TJ
                    - TK
                    - TM
                    - TL
                    - TO
                    - TT
                    - TN
                    - TR
                    - TV
                    - TW
                    - TZ
                    - UG
                    - UA
                    - UM
                    - UY
                    - US
                    - UZ
                    - VA
                    - VC
                    - VE
                    - VG
                    - VI
                    - VN
                    - VU
                    - WF
                    - WS
                    - YE
                    - ZA
                    - ZM
                    - ZW
                  description: ISO 3166-1 alpha-2
                phone:
                  type: string
                  minLength: 1
                  description: E.164, e.g. +447700900123
                employmentStatus:
                  type: string
                  enum:
                    - employed
                    - selfEmployed
                    - businessOwner
                    - unemployed
                    - student
                    - retired
                    - others
                fundsOrigin:
                  type: string
                  enum:
                    - salary
                    - incomes
                    - investments
                    - pensions
                    - donations
                    - propertiesSell
                    - others
                fundsOriginOthersReason:
                  type: string
                  minLength: 1
                accountPurpose:
                  type: string
                  enum:
                    - savings
                    - currencyExchange
                    - investment
                    - trading
                    - cryptocurrencyPayments
                depositEstimation:
                  type: object
                  properties:
                    minimum:
                      type: integer
                    maximum:
                      type: integer
                  required:
                    - minimum
                    - maximum
                profession:
                  type: string
                  minLength: 1
                  description: >-
                    The holder's activity sector, as one of the sector codes we
                    publish for your workspace — a short numeric code such as
                    `24`, not a job title. Free text is still accepted for
                    backward compatibility but is NOT recorded: a value that is
                    not a known sector code is treated as not declared. If you
                    do not hold a sector code, omit the field and the holder
                    chooses their sector while completing verification.
                pepDeclaration:
                  type: string
                  enum:
                    - 'no'
                    - 'yes'
                    - family
                    - related
                  description: >-
                    The holder's politically-exposed-person self-declaration:
                    `no` (not exposed), `yes` (is a politically exposed person),
                    `family` (an immediate family member of one) or `related` (a
                    known close associate of one). Omit the field when the
                    holder has not answered: an omitted declaration is stored as
                    NOT DECLARED and is never forwarded as `no`. Never send `no`
                    to mean unanswered. The hosted verification page does NOT
                    ask for this field, so supply it here for holders who verify
                    through that page; the in-app verification form collects it
                    directly.
                taxId:
                  type: object
                  properties:
                    number:
                      type: string
                      minLength: 1
                    country:
                      type: string
                      enum:
                        - AW
                        - AF
                        - AO
                        - AI
                        - AX
                        - AL
                        - AD
                        - AE
                        - AR
                        - AM
                        - AS
                        - AQ
                        - TF
                        - AG
                        - AU
                        - AT
                        - AZ
                        - BI
                        - BE
                        - BJ
                        - BQ
                        - BF
                        - BD
                        - BG
                        - BH
                        - BS
                        - BA
                        - BL
                        - BY
                        - BZ
                        - BM
                        - BO
                        - BR
                        - BB
                        - BN
                        - BT
                        - BV
                        - BW
                        - CF
                        - CA
                        - CC
                        - CH
                        - CL
                        - CN
                        - CI
                        - CM
                        - CD
                        - CG
                        - CK
                        - CO
                        - KM
                        - CV
                        - CR
                        - CU
                        - CW
                        - CX
                        - KY
                        - CY
                        - CZ
                        - DE
                        - DJ
                        - DM
                        - DK
                        - DO
                        - DZ
                        - EC
                        - EG
                        - ER
                        - EH
                        - ES
                        - EE
                        - ET
                        - FI
                        - FJ
                        - FK
                        - FR
                        - FO
                        - FM
                        - GA
                        - GB
                        - GE
                        - GG
                        - GH
                        - GI
                        - GN
                        - GP
                        - GM
                        - GW
                        - GQ
                        - GR
                        - GD
                        - GL
                        - GT
                        - GF
                        - GU
                        - GY
                        - HK
                        - HM
                        - HN
                        - HR
                        - HT
                        - HU
                        - ID
                        - IM
                        - IN
                        - IO
                        - IE
                        - IR
                        - IQ
                        - IS
                        - IL
                        - IT
                        - JM
                        - JE
                        - JO
                        - JP
                        - KZ
                        - KE
                        - KG
                        - KH
                        - KI
                        - KN
                        - KR
                        - KW
                        - LA
                        - LB
                        - LR
                        - LY
                        - LC
                        - LI
                        - LK
                        - LS
                        - LT
                        - LU
                        - LV
                        - MO
                        - MF
                        - MA
                        - MC
                        - MD
                        - MG
                        - MV
                        - MX
                        - MH
                        - MK
                        - ML
                        - MT
                        - MM
                        - ME
                        - MN
                        - MP
                        - MZ
                        - MR
                        - MS
                        - MQ
                        - MU
                        - MW
                        - MY
                        - YT
                        - NA
                        - NC
                        - NE
                        - NF
                        - NG
                        - NI
                        - NU
                        - NL
                        - 'NO'
                        - NP
                        - NR
                        - NZ
                        - OM
                        - PK
                        - PA
                        - PN
                        - PE
                        - PH
                        - PW
                        - PG
                        - PL
                        - PR
                        - KP
                        - PT
                        - PY
                        - PS
                        - PF
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - SA
                        - SD
                        - SN
                        - SG
                        - GS
                        - SH
                        - SJ
                        - SB
                        - SL
                        - SV
                        - SM
                        - SO
                        - PM
                        - RS
                        - SS
                        - ST
                        - SR
                        - SK
                        - SI
                        - SE
                        - SZ
                        - SX
                        - SC
                        - SY
                        - TC
                        - TD
                        - TG
                        - TH
                        - TJ
                        - TK
                        - TM
                        - TL
                        - TO
                        - TT
                        - TN
                        - TR
                        - TV
                        - TW
                        - TZ
                        - UG
                        - UA
                        - UM
                        - UY
                        - US
                        - UZ
                        - VA
                        - VC
                        - VE
                        - VG
                        - VI
                        - VN
                        - VU
                        - WF
                        - WS
                        - YE
                        - ZA
                        - ZM
                        - ZW
                      description: Issuing country, ISO 3166-1 alpha-2
                  required:
                    - number
                    - country
                document:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - idcard
                        - passport
                        - drivinglicense
                        - visa
                    id:
                      type: string
                      minLength: 1
                      description: Document number/identifier
                    expiryDate:
                      type: string
                      minLength: 1
                      description: ISO 8601
                    issuingCountry:
                      type: string
                      enum:
                        - AW
                        - AF
                        - AO
                        - AI
                        - AX
                        - AL
                        - AD
                        - AE
                        - AR
                        - AM
                        - AS
                        - AQ
                        - TF
                        - AG
                        - AU
                        - AT
                        - AZ
                        - BI
                        - BE
                        - BJ
                        - BQ
                        - BF
                        - BD
                        - BG
                        - BH
                        - BS
                        - BA
                        - BL
                        - BY
                        - BZ
                        - BM
                        - BO
                        - BR
                        - BB
                        - BN
                        - BT
                        - BV
                        - BW
                        - CF
                        - CA
                        - CC
                        - CH
                        - CL
                        - CN
                        - CI
                        - CM
                        - CD
                        - CG
                        - CK
                        - CO
                        - KM
                        - CV
                        - CR
                        - CU
                        - CW
                        - CX
                        - KY
                        - CY
                        - CZ
                        - DE
                        - DJ
                        - DM
                        - DK
                        - DO
                        - DZ
                        - EC
                        - EG
                        - ER
                        - EH
                        - ES
                        - EE
                        - ET
                        - FI
                        - FJ
                        - FK
                        - FR
                        - FO
                        - FM
                        - GA
                        - GB
                        - GE
                        - GG
                        - GH
                        - GI
                        - GN
                        - GP
                        - GM
                        - GW
                        - GQ
                        - GR
                        - GD
                        - GL
                        - GT
                        - GF
                        - GU
                        - GY
                        - HK
                        - HM
                        - HN
                        - HR
                        - HT
                        - HU
                        - ID
                        - IM
                        - IN
                        - IO
                        - IE
                        - IR
                        - IQ
                        - IS
                        - IL
                        - IT
                        - JM
                        - JE
                        - JO
                        - JP
                        - KZ
                        - KE
                        - KG
                        - KH
                        - KI
                        - KN
                        - KR
                        - KW
                        - LA
                        - LB
                        - LR
                        - LY
                        - LC
                        - LI
                        - LK
                        - LS
                        - LT
                        - LU
                        - LV
                        - MO
                        - MF
                        - MA
                        - MC
                        - MD
                        - MG
                        - MV
                        - MX
                        - MH
                        - MK
                        - ML
                        - MT
                        - MM
                        - ME
                        - MN
                        - MP
                        - MZ
                        - MR
                        - MS
                        - MQ
                        - MU
                        - MW
                        - MY
                        - YT
                        - NA
                        - NC
                        - NE
                        - NF
                        - NG
                        - NI
                        - NU
                        - NL
                        - 'NO'
                        - NP
                        - NR
                        - NZ
                        - OM
                        - PK
                        - PA
                        - PN
                        - PE
                        - PH
                        - PW
                        - PG
                        - PL
                        - PR
                        - KP
                        - PT
                        - PY
                        - PS
                        - PF
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - SA
                        - SD
                        - SN
                        - SG
                        - GS
                        - SH
                        - SJ
                        - SB
                        - SL
                        - SV
                        - SM
                        - SO
                        - PM
                        - RS
                        - SS
                        - ST
                        - SR
                        - SK
                        - SI
                        - SE
                        - SZ
                        - SX
                        - SC
                        - SY
                        - TC
                        - TD
                        - TG
                        - TH
                        - TJ
                        - TK
                        - TM
                        - TL
                        - TO
                        - TT
                        - TN
                        - TR
                        - TV
                        - TW
                        - TZ
                        - UG
                        - UA
                        - UM
                        - UY
                        - US
                        - UZ
                        - VA
                        - VC
                        - VE
                        - VG
                        - VI
                        - VN
                        - VU
                        - WF
                        - WS
                        - YE
                        - ZA
                        - ZM
                        - ZW
                      description: Issuing country, ISO 3166-1 alpha-2
                occupations:
                  type: array
                  items:
                    type: string
                    minLength: 1
                addresses:
                  type: array
                  items:
                    type: object
                    properties:
                      street:
                        type: string
                        minLength: 1
                      city:
                        type: string
                        minLength: 1
                      state:
                        type: string
                        minLength: 1
                      country:
                        type: string
                        enum:
                          - AW
                          - AF
                          - AO
                          - AI
                          - AX
                          - AL
                          - AD
                          - AE
                          - AR
                          - AM
                          - AS
                          - AQ
                          - TF
                          - AG
                          - AU
                          - AT
                          - AZ
                          - BI
                          - BE
                          - BJ
                          - BQ
                          - BF
                          - BD
                          - BG
                          - BH
                          - BS
                          - BA
                          - BL
                          - BY
                          - BZ
                          - BM
                          - BO
                          - BR
                          - BB
                          - BN
                          - BT
                          - BV
                          - BW
                          - CF
                          - CA
                          - CC
                          - CH
                          - CL
                          - CN
                          - CI
                          - CM
                          - CD
                          - CG
                          - CK
                          - CO
                          - KM
                          - CV
                          - CR
                          - CU
                          - CW
                          - CX
                          - KY
                          - CY
                          - CZ
                          - DE
                          - DJ
                          - DM
                          - DK
                          - DO
                          - DZ
                          - EC
                          - EG
                          - ER
                          - EH
                          - ES
                          - EE
                          - ET
                          - FI
                          - FJ
                          - FK
                          - FR
                          - FO
                          - FM
                          - GA
                          - GB
                          - GE
                          - GG
                          - GH
                          - GI
                          - GN
                          - GP
                          - GM
                          - GW
                          - GQ
                          - GR
                          - GD
                          - GL
                          - GT
                          - GF
                          - GU
                          - GY
                          - HK
                          - HM
                          - HN
                          - HR
                          - HT
                          - HU
                          - ID
                          - IM
                          - IN
                          - IO
                          - IE
                          - IR
                          - IQ
                          - IS
                          - IL
                          - IT
                          - JM
                          - JE
                          - JO
                          - JP
                          - KZ
                          - KE
                          - KG
                          - KH
                          - KI
                          - KN
                          - KR
                          - KW
                          - LA
                          - LB
                          - LR
                          - LY
                          - LC
                          - LI
                          - LK
                          - LS
                          - LT
                          - LU
                          - LV
                          - MO
                          - MF
                          - MA
                          - MC
                          - MD
                          - MG
                          - MV
                          - MX
                          - MH
                          - MK
                          - ML
                          - MT
                          - MM
                          - ME
                          - MN
                          - MP
                          - MZ
                          - MR
                          - MS
                          - MQ
                          - MU
                          - MW
                          - MY
                          - YT
                          - NA
                          - NC
                          - NE
                          - NF
                          - NG
                          - NI
                          - NU
                          - NL
                          - 'NO'
                          - NP
                          - NR
                          - NZ
                          - OM
                          - PK
                          - PA
                          - PN
                          - PE
                          - PH
                          - PW
                          - PG
                          - PL
                          - PR
                          - KP
                          - PT
                          - PY
                          - PS
                          - PF
                          - QA
                          - RE
                          - RO
                          - RU
                          - RW
                          - SA
                          - SD
                          - SN
                          - SG
                          - GS
                          - SH
                          - SJ
                          - SB
                          - SL
                          - SV
                          - SM
                          - SO
                          - PM
                          - RS
                          - SS
                          - ST
                          - SR
                          - SK
                          - SI
                          - SE
                          - SZ
                          - SX
                          - SC
                          - SY
                          - TC
                          - TD
                          - TG
                          - TH
                          - TJ
                          - TK
                          - TM
                          - TL
                          - TO
                          - TT
                          - TN
                          - TR
                          - TV
                          - TW
                          - TZ
                          - UG
                          - UA
                          - UM
                          - UY
                          - US
                          - UZ
                          - VA
                          - VC
                          - VE
                          - VG
                          - VI
                          - VN
                          - VU
                          - WF
                          - WS
                          - YE
                          - ZA
                          - ZM
                          - ZW
                        description: ISO 3166-1 alpha-2
                      zip:
                        type: string
                        minLength: 1
                      locality:
                        type: string
                        minLength: 1
              required:
                - userEmail
              description: >-
                Request body for pre-supplying KYC data so the hosted form only
                asks for what is still missing. Send `userEmail` plus any subset
                of the provider-neutral KYC fields (name, birthdate,
                nationality, phone, employmentStatus, fundsOrigin, document,
                addresses, …) at the root; supplied fields are stored and
                skipped when the user later completes the hosted KYC form.
              example:
                userEmail: maria@example.com
                firstName: María
                lastName: González
                phone: '+447700900123'
                birthdate: '1990-01-31'
                birthCountry: ES
                nationality: ES
                employmentStatus: employed
                profession: '24'
                fundsOrigin: salary
                accountPurpose: currencyExchange
                depositEstimation:
                  minimum: 0
                  maximum: 10000
                addresses:
                  - street: Calle Mayor 1
                    city: Madrid
                    state: Madrid
                    zip: '28001'
                    country: ES
      responses:
        '200':
          description: >-
            Profile data stored. Body matches **SaveKYCProfileResponse**; see
            `providedFields` and `missingFields`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the profile data was stored successfully.
                  providedFields:
                    type: array
                    items:
                      type: string
                    description: Required profile fields now present after this call.
                  missingFields:
                    type: array
                    items:
                      type: string
                    description: >-
                      Required profile fields the user must still complete in
                      the hosted KYC form.
                required:
                  - success
                  - providedFields
                  - missingFields
                description: >-
                  Response from POST /v1/kyc/profile: which required fields are
                  now present and which are still missing.
        '400':
          description: Invalid profile data
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await fetch("https://api.virtuabroker.com/v1/kyc/data",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "userEmail": "maria@example.com",
                  "firstName": "María",
                  "lastName": "González",
                  "phone": "+447700900123",
                  "birthdate": "1990-01-31",
                  "birthCountry": "ES",
                  "nationality": "ES",
                  "employmentStatus": "employed",
                  "profession": "24",
                  "fundsOrigin": "salary",
                  "accountPurpose": "currencyExchange",
                  "depositEstimation": {
                    "minimum": 0,
                    "maximum": 10000
                  },
                  "addresses": [
                    {
                      "street": "Calle Mayor 1",
                      "city": "Madrid",
                      "state": "Madrid",
                      "zip": "28001",
                      "country": "ES"
                    }
                  ]
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/kyc/data",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "userEmail": "maria@example.com",
                    "firstName": "María",
                    "lastName": "González",
                    "phone": "+447700900123",
                    "birthdate": "1990-01-31",
                    "birthCountry": "ES",
                    "nationality": "ES",
                    "employmentStatus": "employed",
                    "profession": "24",
                    "fundsOrigin": "salary",
                    "accountPurpose": "currencyExchange",
                    "depositEstimation": {
                        "minimum": 0,
                        "maximum": 10000
                    },
                    "addresses": [
                        {
                            "street": "Calle Mayor 1",
                            "city": "Madrid",
                            "state": "Madrid",
                            "zip": "28001",
                            "country": "ES"
                        }
                    ]
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/kyc/data" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "userEmail": "maria@example.com",
              "firstName": "María",
              "lastName": "González",
              "phone": "+447700900123",
              "birthdate": "1990-01-31",
              "birthCountry": "ES",
              "nationality": "ES",
              "employmentStatus": "employed",
              "profession": "24",
              "fundsOrigin": "salary",
              "accountPurpose": "currencyExchange",
              "depositEstimation": {
                "minimum": 0,
                "maximum": 10000
              },
              "addresses": [
                {
                  "street": "Calle Mayor 1",
                  "city": "Madrid",
                  "state": "Madrid",
                  "zip": "28001",
                  "country": "ES"
                }
              ]
            }'
  /v1/kyc/{accountEmail}:
    get:
      summary: Get KYC status by account email
      description: >-
        Retrieves the KYC verification status for an account by email. The
        response also carries `accountId` — the id to use for account-scoped
        resources such as deposit methods, deposits, and orders. For individual
        users it equals the email; for organisation representatives it is the
        organisation account id.
      tags:
        - KYC
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 254
            format: email
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: Email address
          required: true
          description: Email address
          name: accountEmail
          in: path
      responses:
        '200':
          description: Successful retrieval of KYC status
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - PENDING
                          - REVIEWING
                          - IN_PROGRESS
                          - APPROVED
                          - REJECTED
                          - NOT_AVAILABLE
                      missingFields:
                        type: array
                        items:
                          type: string
                      accountId:
                        type: string
                        description: >-
                          Account id to use for account-scoped resources
                          (deposit methods, deposits, orders). Equals the email
                          for individual users; for organisation representatives
                          it is the organisation account id. Absent when no
                          account exists yet for this email.
                    required:
                      - status
                required:
                  - ok
                  - value
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/kyc/account@example.com", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/kyc/account@example.com",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/kyc/account@example.com" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/kyc/status:
    get:
      summary: Get KYC status (deprecated)
      description: >-
        Deprecated: use GET /v1/kyc/{accountEmail} instead. Retrieves the KYC
        verification status for a user by query param.
      deprecated: true
      tags:
        - KYC
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 254
            format: email
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: User email
          required: true
          description: User email
          name: userEmail
          in: query
      responses:
        '200':
          description: Successful retrieval of KYC status
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - PENDING
                      - REVIEWING
                      - IN_PROGRESS
                      - APPROVED
                      - REJECTED
                      - NOT_AVAILABLE
                    description: Status of the KYC
                  missingFields:
                    type: array
                    items:
                      type: string
                    description: >-
                      Identity fields still required by the workspace’s
                      configured KYC provider before verification can complete.
                      Empty/absent when nothing is outstanding.
                  missingInfo:
                    type: object
                    properties:
                      firstName:
                        type: string
                        description: First name
                      lastName:
                        type: string
                        description: Last name
                      email:
                        type: string
                        description: Email
                      phone:
                        type: string
                        description: Phone
                    description: Missing info of the KYC
                  message:
                    type: string
                    description: Message of the KYC
                required:
                  - status
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/kyc/status", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/kyc/status",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/kyc/status" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/openbanking/{orderId}:
    post:
      summary: Create Openbanking payment
      description: >-
        Creates a hosted open-banking payment session (Web Form) for an order or
        deposit. Amount, currency, and payee details are taken from the order or
        deposit. Provide the redirect URLs the hosted form should return to; a
        `language` code for the form UI is optional.
      tags:
        - Openbanking
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: ID of the order or deposit
          required: true
          description: ID of the order or deposit
          name: orderId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                orderId:
                  type: string
                  minLength: 12
                  maxLength: 12
                  pattern: ^[A-Z0-9]{12}$
                  description: ID of the order or deposit
                  examples:
                    - 01CLFXMT67II
                    - 2R7E5Y5KFXP8
                    - 4FWWRE3Y2URM
                language:
                  type: string
                  description: Language code for the form (e.g., en, de, es)
                redirectUrl:
                  type: string
                  maxLength: 2048
                  description: >-
                    Optional https URL to return the payer to after a successful
                    payment. If omitted the hosted form auto-closes and status
                    is learned by polling GET.
                errorRedirectUrl:
                  type: string
                  maxLength: 2048
                  description: >-
                    Optional https URL to return the payer to when the payment
                    errors.
                abortRedirectUrl:
                  type: string
                  maxLength: 2048
                  description: >-
                    Optional https URL to return the payer to when they cancel
                    the payment.
              required:
                - orderId
              description: >-
                Request schema to initiate an open banking (PIS) Web Form for an
                order or deposit
      responses:
        '200':
          description: Successful Openbanking payment creation
          content:
            application/json:
              schema:
                type: object
                properties:
                  orderId:
                    type: string
                    minLength: 12
                    maxLength: 12
                    pattern: ^[A-Z0-9]{12}$
                    description: Order id or deposit id (field name is historical)
                    examples:
                      - 01CLFXMT67II
                      - 2R7E5Y5KFXP8
                      - 4FWWRE3Y2URM
                  webForm:
                    type: object
                    properties:
                      id:
                        type: string
                        description: Identifier for the hosted open-banking payment session
                      url:
                        type: string
                        format: uri
                        description: URL where the end user completes the bank payment flow
                      status:
                        type: string
                        description: >-
                          Session status (e.g. not started, in progress,
                          completed, error, aborted, expired — exact values are
                          provider-specific)
                      expiresAt:
                        type: number
                        description: Expiration timestamp (ms)
                    required:
                      - id
                      - url
                      - status
                  embed:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - standalone
                          - embedded
                        description: Suggested integration type
                      suggested:
                        type: boolean
                        description: Whether embedded is suggested
                      instructions:
                        type: string
                        description: Short FE hints to render the form
                      embeddingOptions:
                        type: object
                        properties:
                          iframe:
                            type: object
                            properties:
                              description:
                                type: string
                                description: What this integration style does
                              code:
                                type: string
                                description: Copy-paste snippet for this style
                              recommended:
                                type: boolean
                                description: Whether this is the recommended style
                            required:
                              - description
                              - code
                              - recommended
                          redirect:
                            type: object
                            properties:
                              description:
                                type: string
                                description: What this integration style does
                              code:
                                type: string
                                description: Copy-paste snippet for this style
                              recommended:
                                type: boolean
                                description: Whether this is the recommended style
                            required:
                              - description
                              - code
                              - recommended
                          popup:
                            type: object
                            properties:
                              description:
                                type: string
                                description: What this integration style does
                              code:
                                type: string
                                description: Copy-paste snippet for this style
                              recommended:
                                type: boolean
                                description: Whether this is the recommended style
                            required:
                              - description
                              - code
                              - recommended
                        description: >-
                          Ready-to-use snippets for embedding the payment form,
                          keyed by integration style.
                      setupRequirements:
                        type: object
                        properties:
                          cors:
                            type: string
                            description: What is needed for cross-origin embedding
                          webhooks:
                            type: string
                            description: What your webhook endpoint must support
                        required:
                          - cors
                          - webhooks
                        description: What you need in place before embedding the form.
                    required:
                      - type
                      - suggested
                      - instructions
                    description: Frontend guidance for rendering the Web Form
                  usage:
                    type: object
                    properties:
                      standalone:
                        type: object
                        properties:
                          description:
                            type: string
                          url:
                            type: string
                          instructions:
                            type: string
                        required:
                          - description
                          - url
                          - instructions
                      embedded:
                        type: object
                        properties:
                          description:
                            type: string
                          options:
                            nullable: true
                          setup:
                            nullable: true
                        required:
                          - description
                    required:
                      - standalone
                      - embedded
                    description: Usage guidance and options
                required:
                  - orderId
                  - webForm
                  - embed
                  - usage
                description: Response schema after initiating an open banking Web Form
        '400':
          description: >-
            Bad request — invalid parameters or the banking session could not be
            created
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  error:
                    type: string
                  details:
                    nullable: true
                required:
                  - success
                  - error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/openbanking/ord_7Ka9dP2x", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "orderId": "01CLFXMT67II",
                  "language": "string",
                  "redirectUrl": "string",
                  "errorRedirectUrl": "string",
                  "abortRedirectUrl": "string"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/openbanking/ord_7Ka9dP2x",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "orderId": "01CLFXMT67II",
                    "language": "string",
                    "redirectUrl": "string",
                    "errorRedirectUrl": "string",
                    "abortRedirectUrl": "string"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/openbanking/ord_7Ka9dP2x" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "orderId": "01CLFXMT67II",
              "language": "string",
              "redirectUrl": "string",
              "errorRedirectUrl": "string",
              "abortRedirectUrl": "string"
            }'
    get:
      summary: Get Openbanking payment status
      description: >-
        Returns the status of an open-banking payment for a given order or
        deposit id (the same id used when creating the session). The response
        includes session status and, when available, the latest callback
        details.
      tags:
        - Openbanking
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: >-
              Order id or deposit id (query/path; same identifier used when
              creating the Web Form)
          required: true
          description: >-
            Order id or deposit id (query/path; same identifier used when
            creating the Web Form)
          name: orderId
          in: path
      responses:
        '200':
          description: Successful retrieval of OpenBanking payment status
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  orderId:
                    type: string
                    description: Order id or deposit id (field name is historical)
                  openbanking:
                    type: object
                    properties:
                      webFormId:
                        type: string
                      url:
                        type: string
                      status:
                        type: string
                      requestedAmount:
                        type: number
                      currency:
                        type: string
                      expiresAt:
                        type: string
                      lastUpdated:
                        type: string
                      webhookReceived:
                        type: boolean
                      lastWebhook:
                        type: object
                        nullable: true
                        properties:
                          timestamp:
                            type: string
                          status:
                            type: string
                          webFormId:
                            type: string
                        required:
                          - timestamp
                          - status
                          - webFormId
                    required:
                      - webFormId
                      - url
                      - status
                      - requestedAmount
                      - currency
                      - expiresAt
                      - lastUpdated
                      - webhookReceived
                      - lastWebhook
                  metadata:
                    type: object
                    properties:
                      createdAt:
                        type: string
                        description: When the open-banking session record was created
                      lastStatusCheck:
                        type: string
                        description: Timestamp of the last status refresh
                      callbackCount:
                        type: number
                        description: Number of callbacks recorded for this session
                    required:
                      - createdAt
                      - lastStatusCheck
                      - callbackCount
                  note:
                    type: string
                required:
                  - success
                  - orderId
                  - note
        '404':
          description: Order/Deposit not found or no OpenBanking payment exists
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  orderId:
                    type: string
                  note:
                    type: string
                required:
                  - success
                  - orderId
                  - note
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  orderId:
                    type: string
                  note:
                    type: string
                required:
                  - success
                  - orderId
                  - note
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/openbanking/ord_7Ka9dP2x", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/openbanking/ord_7Ka9dP2x",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/openbanking/ord_7Ka9dP2x" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/withdrawals:
    post:
      summary: Create a withdrawal (payout from balance)
      description: >+
        Creates a payout from the user's available balance. The balance is
        validated and reserved atomically before processing.


        **Payout paths:** (a) this endpoint pays out directly from an existing
        balance; (b) for a trade-then-payout flow use **POST /v1/orders**
        instead (quote → order with `destinationTransferData`).


        **`destinationTransferData.type`** must match the payout rail —
        representative values:

        - `SEPA` — EUR bank transfer (IBAN required).

        - `PIX_BR` — Brazilian PIX instant transfer; `BANK_DEPOSIT_BR` for
        TED/DOC.

        - `BANK_DEPOSIT_VEN` — Venezuelan bank transfer (account number + bank
        code + tax ID).

        - `PHONE_DEPOSIT_VEN` — Venezuelan phone-based payout (phone number +
        bank code + tax ID).

        - Crypto: use the network name as `type` (e.g. `MATIC`, `ETH`, `TRON`,
        `SOLANA`) with an `address` field. For Solana, `SOL` is accepted as an
        alias of `SOLANA`.

        - Schemas marked **deprecated** have no active payout corridor and are
        rejected; discover live corridors per currency via `GET
        /v1/currencies/{currency}/destination-schema`.

      tags:
        - Withdrawals
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            pattern: ^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$
            description: >-
              Optional idempotency key: 1–128 characters of letters, digits,
              dash or underscore, starting with a letter or digit, sent exactly
              once. A present-but-malformed key is rejected with 400 before
              anything happens. Replaying the same key with the same payload
              returns the original response; reusing it with a different payload
              is rejected with 409. The withdrawal id is always server-generated
              and never derived from this key.
          required: false
          description: >-
            Optional idempotency key: 1–128 characters of letters, digits, dash
            or underscore, starting with a letter or digit, sent exactly once. A
            present-but-malformed key is rejected with 400 before anything
            happens. Replaying the same key with the same payload returns the
            original response; reusing it with a different payload is rejected
            with 409. The withdrawal id is always server-generated and never
            derived from this key.
          name: Idempotency-Key
          in: header
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: Amount to be withdrawn
                  example: 1000
                currency:
                  type: string
                  description: Currency of the withdrawal
                  example: EUR
                userEmail:
                  type: string
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the user making the request
                  example: user@example.com
                destinationTranferId:
                  type: string
                  description: ID of the destination transfer method
                  example: '123'
                destinationTransferData:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BALANCE
                      required:
                        - type
                      description: Balance transfer details
                      title: Balance
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        iban:
                          type: string
                          description: IBAN number
                        bic:
                          type: string
                          description: BIC number (optional)
                        country:
                          type: string
                          description: Country code
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for SEPA payouts —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for SEPA
                            payouts — provide it here or in
                            destinationUserData.postalCode.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as the payout beneficiary `address.line1` when
                            registering the beneficiary. Stored on the saved
                            transaction method so the user does not have to
                            re-supply it on every withdraw.
                        type:
                          type: string
                          enum:
                            - SEPA
                      required:
                        - destinationName
                        - iban
                        - country
                        - type
                      description: SEPA transfer details
                      title: SEPA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        accountNumber:
                          type: string
                          description: UK bank account number
                        sortCode:
                          type: string
                          description: UK sort code
                        country:
                          type: string
                          enum:
                            - GB
                          default: GB
                          description: >-
                            ISO 3166 country code of the recipient (GBP transfer
                            is UK-based)
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for this rail —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for this rail
                            — provide it here or in
                            destinationUserData.postalCode.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as payee address when creating the payee.
                        type:
                          type: string
                          enum:
                            - GBP_BANK_TRANSFER
                      required:
                        - destinationName
                        - accountNumber
                        - sortCode
                        - type
                      description: GBP domestic bank transfer details
                      title: BankDepositGB
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        accountNumber:
                          type: string
                          description: US bank account number
                        routingNumber:
                          type: string
                          description: US ABA routing number
                        country:
                          type: string
                          enum:
                            - US
                          default: US
                          description: >-
                            ISO 3166 country code of the recipient (ACH is
                            US-domestic)
                        accountType:
                          type: string
                          enum:
                            - PERSONAL
                            - BUSINESS
                          default: PERSONAL
                          description: Account type (optional)
                        bankAccountType:
                          type: string
                          enum:
                            - CHECKING
                            - SAVINGS
                          default: CHECKING
                          description: >-
                            Kind of bank account the payout lands in. Defaults
                            to CHECKING when omitted.
                        city:
                          type: string
                          description: >-
                            City of the recipient. REQUIRED for this rail —
                            provide it here or in destinationUserData.city.
                        postalCode:
                          type: string
                          description: >-
                            Postal code of the recipient. REQUIRED for this rail
                            — provide it here or in
                            destinationUserData.postalCode.
                        state:
                          type: string
                          pattern: ^[A-Z]{2}$
                          description: >-
                            Two-letter US state code of the recipient (e.g. NY).
                            REQUIRED for this rail.
                        address:
                          type: string
                          description: >-
                            Street address (line 1) of the recipient. Forwarded
                            as payee address when creating the payee.
                        type:
                          type: string
                          enum:
                            - ACH_US
                      required:
                        - destinationName
                        - accountNumber
                        - routingNumber
                        - state
                        - type
                      description: USD ACH transfer details
                      title: AchUS
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - linkedBankAccount
                        accountLinkId:
                          type: string
                          pattern: ^alnk_[0-9a-f]{24}$
                          description: >-
                            Identifier of one of the account holder own linked
                            bank accounts
                          examples:
                            - alnk_0123456789abcdef01234567
                      required:
                        - type
                        - accountLinkId
                      description: >-
                        A bank account the account holder linked beforehand.
                        Pays out only to the holder of the order; never to a
                        third party. Not available yet.
                      title: LinkedBankAccount
                      deprecated: true
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ETH
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: ETH destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: ETH
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - MATIC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: MATIC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: MATIC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - SOL
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: SOL destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: SOL
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - TRON
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: TRON destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: TRON
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - CELO
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: CELO destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: CELO
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BTC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BTC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: BTC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - SOLANA
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: SOLANA destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: SOLANA
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - XRP
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: XRP destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: XRP
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - CARDANO
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: CARDANO destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: \S
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: \S
                      title: CARDANO
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BSC
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BSC destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: BSC
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ARBITRUM
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: ARBITRUM destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: ARBITRUM
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - OPTIMISM
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: OPTIMISM destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: OPTIMISM
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - AVALANCHE
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: AVALANCHE destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: AVALANCHE
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - BASE
                        address:
                          type: string
                          description: >-
                            Destination wallet address. Send this rather than
                            the legacy `destinationWalletAddress` — at least one
                            of the two is required, and a payload carrying
                            neither is rejected. On EVM chains the address is
                            "0x" followed by 40 hex characters.
                        memo:
                          type: string
                          description: Memo for the wallet, when the chain uses one
                        txId:
                          type: string
                          description: Blockchain transaction ID
                        txUrlScan:
                          type: string
                          description: Blockchain explorer URL for the transaction
                        destinationWalletAddress:
                          type: string
                          description: >-
                            Destination wallet address (legacy shape). Still
                            accepted, but send `address` instead — at least one
                            of the two is required and supplying neither is
                            rejected.
                        destinationWalletMemo:
                          type: string
                          description: >-
                            Memo for the wallet (legacy shape) — send `memo`
                            instead
                        destinationNetwork:
                          type: string
                          description: >-
                            Network name, when the corridor addresses the chain
                            by name rather than by `type`
                        destinationNetworkId:
                          type: string
                          description: >-
                            Network id from GET
                            /v1/currencies/{currency}/networks, for corridors
                            where `supportsNetworkDiscovery` is true
                        destinationCurrencySymbol:
                          type: string
                          description: >-
                            Asset symbol on the chain. `type` names the chain,
                            so this is what separates the native coin from
                            tokens on it — ETH from USDC-on-Ethereum.
                      required:
                        - type
                      description: BASE destination details
                      anyOf:
                        - required:
                            - address
                          properties:
                            address:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        - required:
                            - destinationWalletAddress
                          properties:
                            destinationWalletAddress:
                              pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                      title: BASE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/COP/networks. Not read by the payout;
                            retained for the network selector and for stored
                            records.
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_COL
                        destinationBankCode:
                          type: string
                          description: >-
                            Recipient bank code — one of the 4-digit codes
                            published by GET
                            /v1/currencies/COP/destination-schema?method=bankDepositCOL
                            (the code, not the name).
                        destinationBankAccountType:
                          type: string
                          description: Bank account type — CORRIENTE or AHORRO.
                        destinationTaxId:
                          type: string
                          description: Recipient ID document number.
                        destinationDocumentType:
                          type: string
                          description: Recipient ID document type — CC, CE, NIT, TI or PP.
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                        - destinationBankCode
                        - destinationBankAccountType
                        - destinationDocumentType
                        - destinationTaxId
                      description: >-
                        Colombian bank deposit details. Equivalent to ACH_COP —
                        same payout rail, same required fields, same bank
                        roster; ACH_COP is recommended for new integrations.
                        Note that BANK_DEPOSIT_COL is also the name of a COP
                        collection rail.
                      title: Bank Deposit COL
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        brebKey:
                          type: string
                          minLength: 1
                          description: >-
                            Bre-B key (llave) that identifies the recipient
                            account
                        email:
                          type: string
                          description: >-
                            Recipient email (optional contact for the Bre-B
                            rail)
                        destinationPhoneNumber:
                          type: string
                          description: >-
                            Recipient phone number (optional contact for the
                            Bre-B rail)
                        type:
                          type: string
                          enum:
                            - BRE_B_COP
                      required:
                        - destinationName
                        - brebKey
                        - type
                      description: Colombian Bre-B payout details
                      title: Bre-B COP
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          pattern: ^\d{4}$
                          description: >-
                            Recipient bank code — one of the 4-digit codes
                            published by GET
                            /v1/currencies/COP/destination-schema?method=achCOP
                            (the code, not the name)
                        destinationBankAccountNumber:
                          type: string
                          minLength: 1
                          description: Recipient bank account number
                        destinationBankAccountType:
                          type: string
                          minLength: 1
                          description: Bank account type (e.g. AHORROS / CORRIENTE)
                        destinationDocumentType:
                          type: string
                          minLength: 1
                          description: Recipient ID document type (e.g. CC / CE / NIT)
                        destinationTaxId:
                          type: string
                          minLength: 1
                          description: Recipient ID document number
                        type:
                          type: string
                          enum:
                            - ACH_COP
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccountNumber
                        - destinationBankAccountType
                        - destinationDocumentType
                        - destinationTaxId
                        - type
                      description: Colombian ACH payout details
                      title: ACH COP
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (unused for TWD — no network
                            discovery)
                        destinationBankName:
                          type: string
                          minLength: 2
                          description: Bank name (required — TWD payouts run over SWIFT)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_TW
                        destinationBankBranch:
                          type: string
                          minLength: 2
                          description: Bank branch (required — TWD payouts run over SWIFT)
                        bic:
                          type: string
                          pattern: >-
                            ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                          description: SWIFT BIC code (required for TWD payouts)
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient (legacy, optional)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankName
                        - type
                        - destinationBankBranch
                        - bic
                      description: Taiwan bank deposit details (SWIFT payout)
                      title: Bank Deposit TW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankBranch:
                          type: string
                          description: Bank branch
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BR
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccount
                        - destinationBankBranch
                        - destinationTaxId
                        - type
                      description: Brazilian bank deposit details
                      title: Bank Deposit BR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPixCode:
                          type: string
                          description: PIX code
                        destinationTaxId:
                          type: string
                          description: Tax ID of the recipient
                        type:
                          type: string
                          enum:
                            - PIX_BR
                      required:
                        - destinationName
                        - destinationPixCode
                        - destinationTaxId
                        - type
                      description: Brazilian PIX details
                      title: PIX BR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccountNumber:
                          type: string
                          description: Bank account number
                        destinationBankName:
                          type: string
                          description: Name of the bank
                        destinationTaxId:
                          type: string
                          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                          description: Tax ID of the recipient
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_VEN
                      required:
                        - destinationName
                        - destinationBankAccountNumber
                        - destinationBankName
                        - destinationTaxId
                        - destinationBankAccountType
                        - type
                      description: Venezuelan bank deposit details
                      title: Bank Deposit VEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationTaxId:
                          type: string
                          pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                          description: Tax ID of the recipient
                        destinationBankAccountType:
                          type: string
                          description: Type of bank account
                        type:
                          type: string
                          enum:
                            - PHONE_DEPOSIT_VEN
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationPhoneNumber
                        - destinationTaxId
                        - destinationBankAccountType
                        - type
                      description: Venezuelan phone deposit details
                      title: Phone Deposit VEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_IN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        India bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit IN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - IMPS
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        India IMPS details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: IMPS
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - THAI_QR
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Thailand Thai QR details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: Thai QR
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - VIET_QR
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Vietnam Viet QR details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: Viet QR
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationIFSC:
                          type: string
                          description: IFSC code
                        type:
                          type: string
                          enum:
                            - GCASH
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Philippines GCash details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: GCash
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationTaxId:
                          type: string
                          description: Tax ID
                        type:
                          type: string
                          enum:
                            - MOBILE_PAYMENT_IN
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - destinationTaxId
                        - type
                      description: >-
                        India mobile payment details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Payment IN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankCode:
                          type: string
                          description: Bank code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_VN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankCode
                        - type
                      description: >-
                        Vietnam bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit VN
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        bic:
                          type: string
                          description: >-
                            SWIFT BIC code (required for HKD payouts via the HK
                            bank corridor)
                        destinationBankName:
                          type: string
                          description: Bank name
                        destinationAddress:
                          type: string
                          description: Address line 1 of the recipient
                        destinationCity:
                          type: string
                          description: Recipient city (defaults to Hong Kong)
                        accountHolderName:
                          type: string
                          description: Bank account holder name if different from payee
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_HK
                      required:
                        - destinationName
                        - destinationBankAccount
                        - bic
                        - destinationBankName
                        - destinationAddress
                        - type
                      description: Hong Kong bank deposit details (HKD bank corridor)
                      title: Bank Deposit HK
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationBankCode:
                          type: string
                          pattern: ^\d+$
                          description: >-
                            CNAPS / bank institution code (numeric, variable
                            length)
                        destinationBankName:
                          type: string
                          description: Bank name
                        destinationAddress:
                          type: string
                          description: Address line 1 of the recipient
                        destinationCity:
                          type: string
                          description: Recipient city
                        destinationState:
                          type: string
                          minLength: 1
                          description: >-
                            Province / state of the recipient (required for CN —
                            the beneficiary is rejected in compliance review
                            without it)
                        destinationPostcode:
                          type: string
                          minLength: 1
                          description: >-
                            Postal code of the recipient (required for CN — the
                            beneficiary is rejected in compliance review without
                            it)
                        destinationPhone:
                          type: string
                          description: >-
                            Phone number of the recipient, without country
                            prefix (optional; defaulted for CN when omitted)
                        destinationTaxId:
                          type: string
                          description: >-
                            Unified Social Credit Code (USCC, GB 32100-2015) of
                            the recipient company — 18 characters including the
                            check digit; whitespace is removed and letters are
                            normalized to uppercase (optional)
                        accountHolderName:
                          type: string
                          description: Bank account holder name if different from payee
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CN
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankCode
                        - destinationBankName
                        - destinationAddress
                        - destinationCity
                        - destinationState
                        - destinationPostcode
                        - type
                      description: China mainland bank deposit details (CNY bank corridor)
                      title: Bank Deposit CN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/ARS/networks (the network selector,
                            optional)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_AR
                        destinationCBU:
                          type: string
                          description: CBU — 22-digit bank account key (legacy, optional)
                        destinationCVU:
                          type: string
                          description: >-
                            CVU — 22-digit virtual account key (legacy,
                            optional)
                        destinationAlias:
                          type: string
                          description: Account alias (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: >-
                            CUIT/CUIL tax ID of the recipient (required when
                            creating ARS bank destinations): exactly 11 digits
                            with no hyphens, spaces or other characters, and a
                            valid check digit (e.g. 20000000001)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                        - destinationTaxId
                      description: Argentinian bank deposit details
                      title: Bank Deposit AR
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          minLength: 1
                          description: >-
                            Recipient bank name (required for Chilean bank
                            payouts)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CL
                        destinationBankAccountType:
                          type: string
                          minLength: 1
                          description: >-
                            Account type — corriente or ahorro (required for
                            Chilean bank payouts)
                        destinationTaxId:
                          type: string
                          minLength: 1
                          description: >-
                            RUT tax ID of the recipient (required for Chilean
                            bank payouts)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationBankName
                        - type
                        - destinationBankAccountType
                        - destinationTaxId
                      description: Chilean bank deposit details
                      title: Bank Deposit CL
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          minLength: 2
                          maxLength: 30
                          description: Recipient name (required, 2–30 characters)
                        destinationBankAccount:
                          type: string
                          minLength: 1
                          maxLength: 11
                          description: >-
                            Bank account number (max 11 digits for Bolivian
                            accounts)
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (unused for BOB — no network
                            discovery)
                        destinationBankName:
                          type: string
                          maxLength: 20
                          description: Bank name (optional, max 20 characters)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BO
                        destinationTaxId:
                          type: string
                          minLength: 1
                          maxLength: 15
                          description: >-
                            NIT tax ID of the recipient (required for Bolivian
                            payouts)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                        - destinationTaxId
                      description: Bolivian bank deposit details
                      title: Bank Deposit BO
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id from GET
                            /v1/currencies/PEN/networks (the network selector)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_PE
                        destinationCCI:
                          type: string
                          description: >-
                            CCI — 20-digit interbank account code (legacy,
                            optional)
                        destinationBankAccountType:
                          type: string
                          description: Account type (corriente/ahorro) (legacy, optional)
                        destinationTaxId:
                          type: string
                          description: >-
                            DNI/RUC document ID of the recipient (legacy,
                            optional)
                        destinationDocumentType:
                          type: string
                          description: Document type of the recipient (legacy, optional)
                      required:
                        - destinationName
                        - destinationBankAccount
                        - destinationNetworkId
                        - type
                      description: >-
                        Peruvian bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit PE
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          pattern: ^\d{3}$
                          description: >-
                            Recipient bank code (the 3-digit code the rail
                            expects, not the name)
                        destinationBankAccountNumber:
                          type: string
                          minLength: 1
                          maxLength: 20
                          description: Recipient bank account number (max 20)
                        destinationBankAccountType:
                          type: string
                          enum:
                            - CORRIENTE
                            - AHORROS
                            - PHONE
                          description: Bank account type
                        destinationCCI:
                          type: string
                          pattern: ^\d{1,20}$
                          description: >-
                            CCI — Peruvian interbank code (required, digits
                            only, max 20)
                        destinationDocumentType:
                          type: string
                          enum:
                            - CC
                            - CE
                            - RUC
                            - PAS
                            - PAR
                            - LMI
                            - OTHER
                          description: Recipient identification type
                        destinationTaxId:
                          type: string
                          minLength: 1
                          maxLength: 50
                          description: Recipient identification number (max 50)
                        email:
                          type: string
                          pattern: ^.+@.+\..+$
                          description: Recipient email (required for PEN payouts)
                        destinationPhoneNumber:
                          type: string
                          pattern: ^\d{1,9}$
                          description: Recipient phone number (required, max 9 digits)
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_PEN
                      required:
                        - destinationName
                        - destinationBankCode
                        - destinationBankAccountNumber
                        - destinationBankAccountType
                        - destinationCCI
                        - destinationDocumentType
                        - destinationTaxId
                        - email
                        - destinationPhoneNumber
                        - type
                      description: >-
                        Peruvian bank deposit details (bank-code payout
                        corridor).
                      title: Bank Deposit PEN
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_NG
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Nigeria bank deposit details
                      title: Bank Deposit NG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_KE
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Kenya bank deposit details
                      title: Bank Deposit KE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_GH
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        Ghana bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit GH
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZA
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: South Africa bank deposit details
                      title: Bank Deposit ZA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_TZ
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Tanzania bank deposit details
                      title: Bank Deposit TZ
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_UG
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Uganda bank deposit details
                      title: Bank Deposit UG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_RW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Rwanda bank deposit details
                      title: Bank Deposit RW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_MW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Malawi bank deposit details
                      title: Bank Deposit MW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_ZM
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Zambia bank deposit details
                      title: Bank Deposit ZM
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_BW
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Botswana bank deposit details
                      title: Bank Deposit BW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_CD
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: >-
                        DR Congo bank deposit details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Bank Deposit CD
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XOF
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: West African CFA bank deposit details
                      title: Bank Deposit XOF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankAccount:
                          type: string
                          description: Bank account
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if destinationBankName
                            is given)
                        destinationBankName:
                          type: string
                          description: >-
                            Bank name (used to resolve the network when id is
                            omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_XAF
                      required:
                        - destinationName
                        - destinationBankAccount
                        - type
                      description: Central African CFA bank deposit details
                      title: Bank Deposit XAF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_NG
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Nigeria mobile money details
                      title: Mobile Money NG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_KE
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Kenya mobile money details
                      title: Mobile Money KE
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_GH
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: >-
                        Ghana mobile money details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Money GH
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZA
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: South Africa mobile money details
                      title: Mobile Money ZA
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_TZ
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Tanzania mobile money details
                      title: Mobile Money TZ
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_UG
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Uganda mobile money details
                      title: Mobile Money UG
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_RW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Rwanda mobile money details
                      title: Mobile Money RW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_MW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Malawi mobile money details
                      title: Mobile Money MW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_ZM
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Zambia mobile money details
                      title: Mobile Money ZM
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_BW
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Botswana mobile money details
                      title: Mobile Money BW
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_CD
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: >-
                        DR Congo mobile money details. Deprecated — no active
                        payout corridor for this method; orders using it are
                        rejected. Retained for backward compatibility with
                        stored destinations.
                      title: Mobile Money CD
                      deprecated: true
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_XOF
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: West African CFA mobile money details
                      title: Mobile Money XOF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPhoneNumber:
                          type: string
                          description: Phone number
                        destinationNetworkId:
                          type: string
                          description: >-
                            Payout network id (optional if
                            destinationNetworkName is given)
                        destinationNetworkName:
                          type: string
                          description: >-
                            Mobile money network name (resolves the network when
                            id omitted)
                        country:
                          type: string
                          description: ISO 3166 country code
                        type:
                          type: string
                          enum:
                            - MOBILE_MONEY_XAF
                      required:
                        - destinationName
                        - destinationPhoneNumber
                        - type
                      description: Central African CFA mobile money details
                      title: Mobile Money XAF
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationBankCode:
                          type: string
                          description: Bank code
                        destinationBankAccountNumber:
                          type: string
                          description: Bank account number (18-digit CLABE)
                        numericReference:
                          type: string
                          description: Numeric reference
                        notesReference:
                          type: string
                          description: Notes reference
                        destinationClabe:
                          type: string
                          description: >-
                            CLABE — legacy alias, prefer
                            destinationBankAccountNumber
                        destinationTaxId:
                          type: string
                          description: >-
                            Recipient tax id (RFC) — required by some MX
                            bank-deposit rails ("Número de Identificación");
                            optional otherwise
                        type:
                          type: string
                          enum:
                            - BANK_DEPOSIT_MX
                      required:
                        - destinationName
                        - destinationBankAccountNumber
                        - type
                      description: Mexican bank deposit details
                      title: Bank Deposit MX
                    - type: object
                      properties:
                        destinationName:
                          type: string
                          description: Name of the recipient
                        destinationPseNumber:
                          type: string
                          description: PSE number
                        type:
                          type: string
                          enum:
                            - PSE
                      required:
                        - destinationName
                        - destinationPseNumber
                        - type
                      description: >-
                        PSE transfer details. Deprecated — no active payout
                        corridor for this method; orders using it are rejected.
                        Retained for backward compatibility with stored
                        destinations.
                      title: PSE
                      deprecated: true
                  description: >-
                    Payout destination details. The `type` field selects the
                    rail. Representative values: `SEPA` (EUR bank, requires
                    IBAN), `PIX_BR` (Brazilian PIX instant), `BANK_DEPOSIT_VEN`
                    (Venezuelan bank transfer — account number, bank code, tax
                    ID), `PHONE_DEPOSIT_VEN` (Venezuelan phone-based payout —
                    phone number, bank code, tax ID), `MATIC` / `ETH` / `TRON`
                    (crypto wallet with `address` field). Use GET /v1/currencies
                    to discover available rails and their required fields.
                    Either this field or `destinationTranferId` must be
                    provided.
                  title: WithdrawalInfo
                  example:
                    type: SEPA
                    destinationName: John Doe
                    iban: ES9121000418450200051332
                    bic: CAIXESBBXXX
                    country: ES
                    address: Calle Mayor 1
                beneficiary:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 140
                    surname:
                      type: string
                      minLength: 1
                      maxLength: 140
                    relationship:
                      type: string
                      enum:
                        - third_party
                  required:
                    - name
                    - surname
                    - relationship
                  additionalProperties: false
                  description: >-
                    Declare the destination owner when the payout is NOT to the
                    holder’s own wallet. Omit for own-wallet payouts.
              required:
                - amount
                - currency
                - userEmail
              description: Request schema for creating a withdrawal
      responses:
        '200':
          description: Successful withdrawal creation
          content:
            application/json:
              schema:
                type: object
                properties:
                  withdrawalId:
                    anyOf:
                      - type: string
                        minLength: 12
                        maxLength: 12
                        pattern: ^[A-Z0-9]{12}$
                        examples:
                          - 01CLFXMT67II
                          - 2R7E5Y5KFXP8
                          - 4FWWRE3Y2URM
                      - type: string
                        format: uuid
                    description: ID of the withdrawal
                  userData:
                    oneOf:
                      - type: object
                        properties:
                          userType:
                            type: string
                            enum:
                              - individual
                          firstName:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: >-
                              First name of the user making the deposit (or
                              representative for business)
                            examples:
                              - John
                              - Alice
                              - Bob
                          lastName:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: >-
                              Last name of the user making the deposit (or
                              representative for business)
                            examples:
                              - Doe
                              - Smith
                              - Johnson
                          userEmail:
                            type: string
                            maxLength: 254
                            format: email
                            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                            description: Email of the user making the deposit
                            examples:
                              - user@virtuabroker.com
                              - john.doe@example.com
                              - alice@example.com
                          address:
                            type: string
                            maxLength: 150
                            description: Address of the user making the deposit
                            examples:
                              - 123 Main St, Anytown, ES
                              - 456 Elm St, Anytown, ES
                              - 789 Oak St, Anytown, ES
                          taxDocumentType:
                            type: string
                            maxLength: 50
                            description: >-
                              Tax document type of the user making the deposit.
                              Common values: DNI, NIE, PASSPORT, CC, NIT, CE,
                              NIF, but any string is accepted.
                            examples:
                              - CC
                              - NIT
                              - CE
                              - NIF
                              - Other
                          taxId:
                            type: string
                            maxLength: 30
                            description: Tax ID of the user making the deposit
                            examples:
                              - 123-45-6789
                              - 987-65-4321
                              - 111-22-3333
                          country:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country code of the user making the deposit
                            examples:
                              - ES
                              - US
                              - GB
                          state:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: State of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          postalCode:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Postal code of the user making the deposit
                            examples:
                              - '12345'
                              - '67890'
                              - abcde
                          city:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: City of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          dob:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Date of birth of the user making the deposit
                            examples:
                              - '1990-01-01'
                              - '1995-05-15'
                              - '1988-12-31'
                          phoneNumber:
                            type: string
                            maxLength: 30
                            description: Phone number of the user making the deposit
                            examples:
                              - '+447700900123'
                              - '+447700900456'
                              - '+447700900789'
                          kycId:
                            type: string
                            minLength: 1
                            maxLength: 300
                            description: >-
                              KYC ID of the user making the deposit on your
                              platform (if the KYC is done by you, add the url)
                            examples:
                              - kyc-12345
                              - kyc-67890
                              - kyc-abcde
                          activity:
                            type: string
                            description: Activity of the user making the deposit
                            examples:
                              - worker
                              - business
                              - student
                        required:
                          - userType
                          - firstName
                          - userEmail
                          - country
                      - type: object
                        properties:
                          userType:
                            type: string
                            enum:
                              - business
                          businessName:
                            type: string
                            maxLength: 150
                            description: Business name (required when userType is business)
                            examples:
                              - Acme Corp
                              - Tech Solutions Inc
                              - Global Services Ltd
                          firstName:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: >-
                              First name of the user making the deposit (or
                              representative for business)
                            examples:
                              - John
                              - Alice
                              - Bob
                          userEmail:
                            type: string
                            maxLength: 254
                            format: email
                            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                            description: Email of the user making the deposit
                            examples:
                              - user@virtuabroker.com
                              - john.doe@example.com
                              - alice@example.com
                          address:
                            type: string
                            maxLength: 150
                            description: Address of the user making the deposit
                            examples:
                              - 123 Main St, Anytown, ES
                              - 456 Elm St, Anytown, ES
                              - 789 Oak St, Anytown, ES
                          taxDocumentType:
                            type: string
                            maxLength: 50
                            description: >-
                              Tax document type of the user making the deposit.
                              Common values: DNI, NIE, PASSPORT, CC, NIT, CE,
                              NIF, but any string is accepted.
                            examples:
                              - CC
                              - NIT
                              - CE
                              - NIF
                              - Other
                          taxId:
                            type: string
                            maxLength: 30
                            description: Tax ID of the user making the deposit
                            examples:
                              - 123-45-6789
                              - 987-65-4321
                              - 111-22-3333
                          country:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country code of the user making the deposit
                            examples:
                              - ES
                              - US
                              - GB
                          state:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: State of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          postalCode:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Postal code of the user making the deposit
                            examples:
                              - '12345'
                              - '67890'
                              - abcde
                          city:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: City of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          dob:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Date of birth of the user making the deposit
                            examples:
                              - '1990-01-01'
                              - '1995-05-15'
                              - '1988-12-31'
                          phoneNumber:
                            type: string
                            maxLength: 30
                            description: Phone number of the user making the deposit
                            examples:
                              - '+447700900123'
                              - '+447700900456'
                              - '+447700900789'
                          kycId:
                            type: string
                            minLength: 1
                            maxLength: 300
                            description: >-
                              KYC ID of the user making the deposit on your
                              platform (if the KYC is done by you, add the url)
                            examples:
                              - kyc-12345
                              - kyc-67890
                              - kyc-abcde
                          activity:
                            type: string
                            description: Activity of the user making the deposit
                            examples:
                              - worker
                              - business
                              - student
                        required:
                          - userType
                          - businessName
                          - firstName
                          - userEmail
                          - country
                    description: User data for the withdrawal
                  createdAt:
                    type: number
                    description: Creation time of the withdrawal
                    example: 1723027132
                  updatedAt:
                    type: number
                    description: Last update time of the withdrawal
                    example: 1723027132
                  userEmail:
                    type: string
                    format: email
                    pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                    description: Email of the user making the request
                    example: user@example.com
                  amount:
                    type: number
                    description: >-
                      Amount to be withdrawn. This value is written once the
                      withdrawal has been executed. Meanwhile it will appear 0.
                    example: 1000
                  currency:
                    type: string
                    description: Currency of the withdrawal
                    example: EUR
                  fee:
                    type: number
                    description: >-
                      Fee for the withdrawal. This value is written once the
                      withdrawal has been executed. Meanwhile it will appear 0.
                    example: 10
                  feeCurrency:
                    type: string
                    description: Currency of the fee
                    example: EUR
                  destinationTransferData:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BALANCE
                        required:
                          - type
                        description: Balance transfer details
                        title: Balance
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          iban:
                            type: string
                            description: IBAN number
                          bic:
                            type: string
                            description: BIC number (optional)
                          country:
                            type: string
                            description: Country code
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for SEPA payouts —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for SEPA
                              payouts — provide it here or in
                              destinationUserData.postalCode.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as the payout beneficiary
                              `address.line1` when registering the beneficiary.
                              Stored on the saved transaction method so the user
                              does not have to re-supply it on every withdraw.
                          type:
                            type: string
                            enum:
                              - SEPA
                        required:
                          - destinationName
                          - iban
                          - country
                          - type
                        description: SEPA transfer details
                        title: SEPA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          accountNumber:
                            type: string
                            description: UK bank account number
                          sortCode:
                            type: string
                            description: UK sort code
                          country:
                            type: string
                            enum:
                              - GB
                            default: GB
                            description: >-
                              ISO 3166 country code of the recipient (GBP
                              transfer is UK-based)
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for this rail —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for this
                              rail — provide it here or in
                              destinationUserData.postalCode.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as payee address when creating the
                              payee.
                          type:
                            type: string
                            enum:
                              - GBP_BANK_TRANSFER
                        required:
                          - destinationName
                          - accountNumber
                          - sortCode
                          - type
                        description: GBP domestic bank transfer details
                        title: BankDepositGB
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          accountNumber:
                            type: string
                            description: US bank account number
                          routingNumber:
                            type: string
                            description: US ABA routing number
                          country:
                            type: string
                            enum:
                              - US
                            default: US
                            description: >-
                              ISO 3166 country code of the recipient (ACH is
                              US-domestic)
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          bankAccountType:
                            type: string
                            enum:
                              - CHECKING
                              - SAVINGS
                            default: CHECKING
                            description: >-
                              Kind of bank account the payout lands in. Defaults
                              to CHECKING when omitted.
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for this rail —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for this
                              rail — provide it here or in
                              destinationUserData.postalCode.
                          state:
                            type: string
                            pattern: ^[A-Z]{2}$
                            description: >-
                              Two-letter US state code of the recipient (e.g.
                              NY). REQUIRED for this rail.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as payee address when creating the
                              payee.
                          type:
                            type: string
                            enum:
                              - ACH_US
                        required:
                          - destinationName
                          - accountNumber
                          - routingNumber
                          - state
                          - type
                        description: USD ACH transfer details
                        title: AchUS
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - linkedBankAccount
                          accountLinkId:
                            type: string
                            pattern: ^alnk_[0-9a-f]{24}$
                            description: >-
                              Identifier of one of the account holder own linked
                              bank accounts
                            examples:
                              - alnk_0123456789abcdef01234567
                        required:
                          - type
                          - accountLinkId
                        description: >-
                          A bank account the account holder linked beforehand.
                          Pays out only to the holder of the order; never to a
                          third party. Not available yet.
                        title: LinkedBankAccount
                        deprecated: true
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - ETH
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: ETH destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: ETH
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - MATIC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: MATIC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: MATIC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - SOL
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: SOL destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: SOL
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - TRON
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: TRON destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: TRON
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - CELO
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: CELO destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: CELO
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BTC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BTC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: BTC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - SOLANA
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: SOLANA destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: SOLANA
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - XRP
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: XRP destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: XRP
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - CARDANO
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: CARDANO destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: CARDANO
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BSC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BSC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: BSC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - ARBITRUM
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: ARBITRUM destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: ARBITRUM
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - OPTIMISM
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: OPTIMISM destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: OPTIMISM
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - AVALANCHE
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: AVALANCHE destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: AVALANCHE
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BASE
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BASE destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: BASE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/COP/networks. Not read by the
                              payout; retained for the network selector and for
                              stored records.
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_COL
                          destinationBankCode:
                            type: string
                            description: >-
                              Recipient bank code — one of the 4-digit codes
                              published by GET
                              /v1/currencies/COP/destination-schema?method=bankDepositCOL
                              (the code, not the name). Required when creating
                              or updating a destination.
                          destinationBankAccountType:
                            type: string
                            description: >-
                              Bank account type — CORRIENTE or AHORRO. Required
                              when creating or updating a destination.
                          destinationTaxId:
                            type: string
                            description: >-
                              Recipient ID document number. Required when
                              creating or updating a destination.
                          destinationDocumentType:
                            type: string
                            description: >-
                              Recipient ID document type — CC, CE, NIT, TI or
                              PP. Required when creating or updating a
                              destination.
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Colombian bank deposit details. Equivalent to ACH_COP
                          — same payout rail, same required fields, same bank
                          roster; ACH_COP is recommended for new integrations.
                          Note that BANK_DEPOSIT_COL is also the name of a COP
                          collection rail.
                        title: Bank Deposit COL
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          brebKey:
                            type: string
                            minLength: 1
                            description: >-
                              Bre-B key (llave) that identifies the recipient
                              account
                          email:
                            type: string
                            description: >-
                              Recipient email (optional contact for the Bre-B
                              rail)
                          destinationPhoneNumber:
                            type: string
                            description: >-
                              Recipient phone number (optional contact for the
                              Bre-B rail)
                          type:
                            type: string
                            enum:
                              - BRE_B_COP
                        required:
                          - destinationName
                          - brebKey
                          - type
                        description: Colombian Bre-B payout details
                        title: Bre-B COP
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            pattern: ^\d{4}$
                            description: >-
                              Recipient bank code — one of the 4-digit codes
                              published by GET
                              /v1/currencies/COP/destination-schema?method=achCOP
                              (the code, not the name)
                          destinationBankAccountNumber:
                            type: string
                            minLength: 1
                            description: Recipient bank account number
                          destinationBankAccountType:
                            type: string
                            minLength: 1
                            description: Bank account type (e.g. AHORROS / CORRIENTE)
                          destinationDocumentType:
                            type: string
                            minLength: 1
                            description: Recipient ID document type (e.g. CC / CE / NIT)
                          destinationTaxId:
                            type: string
                            minLength: 1
                            description: Recipient ID document number
                          type:
                            type: string
                            enum:
                              - ACH_COP
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccountNumber
                          - destinationBankAccountType
                          - destinationDocumentType
                          - destinationTaxId
                          - type
                        description: Colombian ACH payout details
                        title: ACH COP
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (unused for TWD — no network
                              discovery)
                          destinationBankName:
                            type: string
                            minLength: 2
                            description: Bank name (required — TWD payouts run over SWIFT)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TW
                          destinationBankBranch:
                            type: string
                            minLength: 2
                            description: >-
                              Bank branch (required — TWD payouts run over
                              SWIFT)
                          bic:
                            type: string
                            pattern: >-
                              ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                            description: SWIFT BIC code (required for TWD payouts)
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient (legacy, optional)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankName
                          - type
                          - destinationBankBranch
                          - bic
                        description: Taiwan bank deposit details (SWIFT payout)
                        title: Bank Deposit TW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankBranch:
                            type: string
                            description: Bank branch
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BR
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccount
                          - destinationBankBranch
                          - destinationTaxId
                          - type
                        description: Brazilian bank deposit details
                        title: Bank Deposit BR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPixCode:
                            type: string
                            description: PIX code
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient
                          type:
                            type: string
                            enum:
                              - PIX_BR
                        required:
                          - destinationName
                          - destinationPixCode
                          - destinationTaxId
                          - type
                        description: Brazilian PIX details
                        title: PIX BR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccountNumber:
                            type: string
                            description: Bank account number
                          destinationBankName:
                            type: string
                            description: Name of the bank
                          destinationTaxId:
                            type: string
                            pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                            description: Tax ID of the recipient
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_VEN
                        required:
                          - destinationName
                          - destinationBankAccountNumber
                          - destinationBankName
                          - destinationTaxId
                          - destinationBankAccountType
                          - type
                        description: Venezuelan bank deposit details
                        title: Bank Deposit VEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationTaxId:
                            type: string
                            pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                            description: Tax ID of the recipient
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account
                          type:
                            type: string
                            enum:
                              - PHONE_DEPOSIT_VEN
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationPhoneNumber
                          - destinationTaxId
                          - destinationBankAccountType
                          - type
                        description: Venezuelan phone deposit details
                        title: Phone Deposit VEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_IN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          India bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit IN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - IMPS
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          India IMPS details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: IMPS
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - THAI_QR
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Thailand Thai QR details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Thai QR
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - VIET_QR
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Vietnam Viet QR details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Viet QR
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - GCASH
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Philippines GCash details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: GCash
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationTaxId:
                            type: string
                            description: Tax ID
                          type:
                            type: string
                            enum:
                              - MOBILE_PAYMENT_IN
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - destinationTaxId
                          - type
                        description: >-
                          India mobile payment details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Payment IN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankCode:
                            type: string
                            description: Bank code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_VN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankCode
                          - type
                        description: >-
                          Vietnam bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit VN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          bic:
                            type: string
                            description: >-
                              SWIFT BIC code (required for HKD payouts via the
                              HK bank corridor)
                          destinationBankName:
                            type: string
                            description: Bank name
                          destinationAddress:
                            type: string
                            description: Address line 1 of the recipient
                          destinationCity:
                            type: string
                            description: Recipient city (defaults to Hong Kong)
                          accountHolderName:
                            type: string
                            description: Bank account holder name if different from payee
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_HK
                        required:
                          - destinationName
                          - destinationBankAccount
                          - bic
                          - destinationBankName
                          - destinationAddress
                          - type
                        description: Hong Kong bank deposit details (HKD bank corridor)
                        title: Bank Deposit HK
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankCode:
                            type: string
                            pattern: ^\d+$
                            description: >-
                              CNAPS / bank institution code (numeric, variable
                              length)
                          destinationBankName:
                            type: string
                            description: Bank name
                          destinationAddress:
                            type: string
                            description: Address line 1 of the recipient
                          destinationCity:
                            type: string
                            description: Recipient city
                          destinationState:
                            type: string
                            minLength: 1
                            description: >-
                              Province / state of the recipient (required for CN
                              — the beneficiary is rejected in compliance review
                              without it)
                          destinationPostcode:
                            type: string
                            minLength: 1
                            description: >-
                              Postal code of the recipient (required for CN —
                              the beneficiary is rejected in compliance review
                              without it)
                          destinationPhone:
                            type: string
                            description: >-
                              Phone number of the recipient, without country
                              prefix (optional; defaulted for CN when omitted)
                          destinationTaxId:
                            type: string
                            description: >-
                              Unified Social Credit Code (USCC, GB 32100-2015)
                              of the recipient company — 18 characters including
                              the check digit; whitespace is removed and letters
                              are normalized to uppercase (optional)
                          accountHolderName:
                            type: string
                            description: Bank account holder name if different from payee
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankCode
                          - destinationBankName
                          - destinationAddress
                          - destinationCity
                          - destinationState
                          - destinationPostcode
                          - type
                        description: >-
                          China mainland bank deposit details (CNY bank
                          corridor)
                        title: Bank Deposit CN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/ARS/networks (the network selector,
                              optional)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_AR
                          destinationCBU:
                            type: string
                            description: CBU — 22-digit bank account key (legacy, optional)
                          destinationCVU:
                            type: string
                            description: >-
                              CVU — 22-digit virtual account key (legacy,
                              optional)
                          destinationAlias:
                            type: string
                            description: Account alias (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: >-
                              CUIT/CUIL tax ID of the recipient (required when
                              creating ARS bank destinations): exactly 11 digits
                              with no hyphens, spaces or other characters, and a
                              valid check digit (e.g. 20000000001)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Argentinian bank deposit details
                        title: Bank Deposit AR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            minLength: 1
                            description: >-
                              Recipient bank name (required for Chilean bank
                              payouts)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CL
                          destinationBankAccountType:
                            type: string
                            minLength: 1
                            description: >-
                              Account type — corriente or ahorro (required for
                              Chilean bank payouts)
                          destinationTaxId:
                            type: string
                            minLength: 1
                            description: >-
                              RUT tax ID of the recipient (required for Chilean
                              bank payouts)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankName
                          - type
                          - destinationBankAccountType
                          - destinationTaxId
                        description: Chilean bank deposit details
                        title: Bank Deposit CL
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            minLength: 2
                            maxLength: 30
                            description: Recipient name (required, 2–30 characters)
                          destinationBankAccount:
                            type: string
                            minLength: 1
                            maxLength: 11
                            description: >-
                              Bank account number (max 11 digits for Bolivian
                              accounts)
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (unused for BOB — no network
                              discovery)
                          destinationBankName:
                            type: string
                            maxLength: 20
                            description: Bank name (optional, max 20 characters)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BO
                          destinationTaxId:
                            type: string
                            minLength: 1
                            maxLength: 15
                            description: >-
                              NIT tax ID of the recipient (required for Bolivian
                              payouts)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                          - destinationTaxId
                        description: Bolivian bank deposit details
                        title: Bank Deposit BO
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/PEN/networks (the network selector)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_PE
                          destinationCCI:
                            type: string
                            description: >-
                              CCI — 20-digit interbank account code (legacy,
                              optional)
                          destinationBankAccountType:
                            type: string
                            description: Account type (corriente/ahorro) (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: >-
                              DNI/RUC document ID of the recipient (legacy,
                              optional)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationNetworkId
                          - type
                        description: >-
                          Peruvian bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit PE
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            pattern: ^\d{3}$
                            description: >-
                              Recipient bank code (the 3-digit code the rail
                              expects, not the name)
                          destinationBankAccountNumber:
                            type: string
                            minLength: 1
                            maxLength: 20
                            description: Recipient bank account number (max 20)
                          destinationBankAccountType:
                            type: string
                            enum:
                              - CORRIENTE
                              - AHORROS
                              - PHONE
                            description: Bank account type
                          destinationCCI:
                            type: string
                            pattern: ^\d{1,20}$
                            description: >-
                              CCI — Peruvian interbank code (required, digits
                              only, max 20)
                          destinationDocumentType:
                            type: string
                            enum:
                              - CC
                              - CE
                              - RUC
                              - PAS
                              - PAR
                              - LMI
                              - OTHER
                            description: Recipient identification type
                          destinationTaxId:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: Recipient identification number (max 50)
                          email:
                            type: string
                            pattern: ^.+@.+\..+$
                            description: Recipient email (required for PEN payouts)
                          destinationPhoneNumber:
                            type: string
                            pattern: ^\d{1,9}$
                            description: Recipient phone number (required, max 9 digits)
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_PEN
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccountNumber
                          - destinationBankAccountType
                          - destinationCCI
                          - destinationDocumentType
                          - destinationTaxId
                          - email
                          - destinationPhoneNumber
                          - type
                        description: >-
                          Peruvian bank deposit details (bank-code payout
                          corridor).
                        title: Bank Deposit PEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_NG
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Nigeria bank deposit details
                        title: Bank Deposit NG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_KE
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Kenya bank deposit details
                        title: Bank Deposit KE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_GH
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Ghana bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit GH
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZA
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: South Africa bank deposit details
                        title: Bank Deposit ZA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TZ
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Tanzania bank deposit details
                        title: Bank Deposit TZ
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_UG
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Uganda bank deposit details
                        title: Bank Deposit UG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_RW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Rwanda bank deposit details
                        title: Bank Deposit RW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Malawi bank deposit details
                        title: Bank Deposit MW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZM
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Zambia bank deposit details
                        title: Bank Deposit ZM
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Botswana bank deposit details
                        title: Bank Deposit BW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CD
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          DR Congo bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit CD
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XOF
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: West African CFA bank deposit details
                        title: Bank Deposit XOF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XAF
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Central African CFA bank deposit details
                        title: Bank Deposit XAF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_NG
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Nigeria mobile money details
                        title: Mobile Money NG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_KE
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Kenya mobile money details
                        title: Mobile Money KE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_GH
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: >-
                          Ghana mobile money details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Money GH
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZA
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: South Africa mobile money details
                        title: Mobile Money ZA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_TZ
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Tanzania mobile money details
                        title: Mobile Money TZ
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_UG
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Uganda mobile money details
                        title: Mobile Money UG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_RW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Rwanda mobile money details
                        title: Mobile Money RW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_MW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Malawi mobile money details
                        title: Mobile Money MW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZM
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Zambia mobile money details
                        title: Mobile Money ZM
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_BW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Botswana mobile money details
                        title: Mobile Money BW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_CD
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: >-
                          DR Congo mobile money details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Money CD
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_XOF
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: West African CFA mobile money details
                        title: Mobile Money XOF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_XAF
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Central African CFA mobile money details
                        title: Mobile Money XAF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationBankAccountNumber:
                            type: string
                            description: Bank account number (18-digit CLABE)
                          numericReference:
                            type: string
                            description: Numeric reference
                          notesReference:
                            type: string
                            description: Notes reference
                          destinationClabe:
                            type: string
                            description: >-
                              CLABE — legacy alias, prefer
                              destinationBankAccountNumber
                          destinationTaxId:
                            type: string
                            description: >-
                              Recipient tax id (RFC) — required by some MX
                              bank-deposit rails ("Número de Identificación");
                              optional otherwise
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MX
                        required:
                          - destinationName
                          - destinationBankAccountNumber
                          - type
                        description: Mexican bank deposit details
                        title: Bank Deposit MX
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPseNumber:
                            type: string
                            description: PSE number
                          type:
                            type: string
                            enum:
                              - PSE
                        required:
                          - destinationName
                          - destinationPseNumber
                          - type
                        description: >-
                          PSE transfer details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: PSE
                        deprecated: true
                    description: >-
                      The details required for the end user destination transfer
                      method.
                  status:
                    anyOf:
                      - type: string
                        enum:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                        description: >-
                          Common status values that are shared across all
                          operation types
                        examples:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                      - type: string
                        enum:
                          - PendingCancel
                          - PendingWithdrawal
                          - PendingVerification
                          - Pending2FA
                          - Compliance
                          - Accepted
                          - Approved
                          - Rejected
                          - Review
                    description: Status of the withdrawal
                    examples:
                      - Pending
                      - Pending2FA
                      - Compliance
                      - Accepted
                      - Approved
                      - Success
                      - Failed
                      - Review
                      - Rejected
                  withdrawalInfo:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BALANCE
                        required:
                          - type
                        description: Balance transfer details
                        title: Balance
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          iban:
                            type: string
                            description: IBAN number
                          bic:
                            type: string
                            description: BIC number (optional)
                          country:
                            type: string
                            description: Country code
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for SEPA payouts —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for SEPA
                              payouts — provide it here or in
                              destinationUserData.postalCode.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as the payout beneficiary
                              `address.line1` when registering the beneficiary.
                              Stored on the saved transaction method so the user
                              does not have to re-supply it on every withdraw.
                          type:
                            type: string
                            enum:
                              - SEPA
                        required:
                          - destinationName
                          - iban
                          - country
                          - type
                        description: SEPA transfer details
                        title: SEPA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          accountNumber:
                            type: string
                            description: UK bank account number
                          sortCode:
                            type: string
                            description: UK sort code
                          country:
                            type: string
                            enum:
                              - GB
                            default: GB
                            description: >-
                              ISO 3166 country code of the recipient (GBP
                              transfer is UK-based)
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for this rail —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for this
                              rail — provide it here or in
                              destinationUserData.postalCode.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as payee address when creating the
                              payee.
                          type:
                            type: string
                            enum:
                              - GBP_BANK_TRANSFER
                        required:
                          - destinationName
                          - accountNumber
                          - sortCode
                          - type
                        description: GBP domestic bank transfer details
                        title: BankDepositGB
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          accountNumber:
                            type: string
                            description: US bank account number
                          routingNumber:
                            type: string
                            description: US ABA routing number
                          country:
                            type: string
                            enum:
                              - US
                            default: US
                            description: >-
                              ISO 3166 country code of the recipient (ACH is
                              US-domestic)
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          bankAccountType:
                            type: string
                            enum:
                              - CHECKING
                              - SAVINGS
                            default: CHECKING
                            description: >-
                              Kind of bank account the payout lands in. Defaults
                              to CHECKING when omitted.
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for this rail —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for this
                              rail — provide it here or in
                              destinationUserData.postalCode.
                          state:
                            type: string
                            pattern: ^[A-Z]{2}$
                            description: >-
                              Two-letter US state code of the recipient (e.g.
                              NY). REQUIRED for this rail.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as payee address when creating the
                              payee.
                          type:
                            type: string
                            enum:
                              - ACH_US
                        required:
                          - destinationName
                          - accountNumber
                          - routingNumber
                          - state
                          - type
                        description: USD ACH transfer details
                        title: AchUS
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - linkedBankAccount
                          accountLinkId:
                            type: string
                            pattern: ^alnk_[0-9a-f]{24}$
                            description: >-
                              Identifier of one of the account holder own linked
                              bank accounts
                            examples:
                              - alnk_0123456789abcdef01234567
                        required:
                          - type
                          - accountLinkId
                        description: >-
                          A bank account the account holder linked beforehand.
                          Pays out only to the holder of the order; never to a
                          third party. Not available yet.
                        title: LinkedBankAccount
                        deprecated: true
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - ETH
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: ETH destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: ETH
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - MATIC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: MATIC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: MATIC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - SOL
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: SOL destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: SOL
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - TRON
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: TRON destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: TRON
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - CELO
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: CELO destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: CELO
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BTC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BTC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: BTC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - SOLANA
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: SOLANA destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: SOLANA
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - XRP
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: XRP destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: XRP
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - CARDANO
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: CARDANO destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: CARDANO
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BSC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BSC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: BSC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - ARBITRUM
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: ARBITRUM destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: ARBITRUM
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - OPTIMISM
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: OPTIMISM destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: OPTIMISM
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - AVALANCHE
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: AVALANCHE destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: AVALANCHE
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BASE
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BASE destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: BASE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/COP/networks. Not read by the
                              payout; retained for the network selector and for
                              stored records.
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_COL
                          destinationBankCode:
                            type: string
                            description: >-
                              Recipient bank code — one of the 4-digit codes
                              published by GET
                              /v1/currencies/COP/destination-schema?method=bankDepositCOL
                              (the code, not the name). Required when creating
                              or updating a destination.
                          destinationBankAccountType:
                            type: string
                            description: >-
                              Bank account type — CORRIENTE or AHORRO. Required
                              when creating or updating a destination.
                          destinationTaxId:
                            type: string
                            description: >-
                              Recipient ID document number. Required when
                              creating or updating a destination.
                          destinationDocumentType:
                            type: string
                            description: >-
                              Recipient ID document type — CC, CE, NIT, TI or
                              PP. Required when creating or updating a
                              destination.
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Colombian bank deposit details. Equivalent to ACH_COP
                          — same payout rail, same required fields, same bank
                          roster; ACH_COP is recommended for new integrations.
                          Note that BANK_DEPOSIT_COL is also the name of a COP
                          collection rail.
                        title: Bank Deposit COL
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          brebKey:
                            type: string
                            minLength: 1
                            description: >-
                              Bre-B key (llave) that identifies the recipient
                              account
                          email:
                            type: string
                            description: >-
                              Recipient email (optional contact for the Bre-B
                              rail)
                          destinationPhoneNumber:
                            type: string
                            description: >-
                              Recipient phone number (optional contact for the
                              Bre-B rail)
                          type:
                            type: string
                            enum:
                              - BRE_B_COP
                        required:
                          - destinationName
                          - brebKey
                          - type
                        description: Colombian Bre-B payout details
                        title: Bre-B COP
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            pattern: ^\d{4}$
                            description: >-
                              Recipient bank code — one of the 4-digit codes
                              published by GET
                              /v1/currencies/COP/destination-schema?method=achCOP
                              (the code, not the name)
                          destinationBankAccountNumber:
                            type: string
                            minLength: 1
                            description: Recipient bank account number
                          destinationBankAccountType:
                            type: string
                            minLength: 1
                            description: Bank account type (e.g. AHORROS / CORRIENTE)
                          destinationDocumentType:
                            type: string
                            minLength: 1
                            description: Recipient ID document type (e.g. CC / CE / NIT)
                          destinationTaxId:
                            type: string
                            minLength: 1
                            description: Recipient ID document number
                          type:
                            type: string
                            enum:
                              - ACH_COP
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccountNumber
                          - destinationBankAccountType
                          - destinationDocumentType
                          - destinationTaxId
                          - type
                        description: Colombian ACH payout details
                        title: ACH COP
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (unused for TWD — no network
                              discovery)
                          destinationBankName:
                            type: string
                            minLength: 2
                            description: Bank name (required — TWD payouts run over SWIFT)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TW
                          destinationBankBranch:
                            type: string
                            minLength: 2
                            description: >-
                              Bank branch (required — TWD payouts run over
                              SWIFT)
                          bic:
                            type: string
                            pattern: >-
                              ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                            description: SWIFT BIC code (required for TWD payouts)
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient (legacy, optional)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankName
                          - type
                          - destinationBankBranch
                          - bic
                        description: Taiwan bank deposit details (SWIFT payout)
                        title: Bank Deposit TW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankBranch:
                            type: string
                            description: Bank branch
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BR
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccount
                          - destinationBankBranch
                          - destinationTaxId
                          - type
                        description: Brazilian bank deposit details
                        title: Bank Deposit BR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPixCode:
                            type: string
                            description: PIX code
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient
                          type:
                            type: string
                            enum:
                              - PIX_BR
                        required:
                          - destinationName
                          - destinationPixCode
                          - destinationTaxId
                          - type
                        description: Brazilian PIX details
                        title: PIX BR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccountNumber:
                            type: string
                            description: Bank account number
                          destinationBankName:
                            type: string
                            description: Name of the bank
                          destinationTaxId:
                            type: string
                            pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                            description: Tax ID of the recipient
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_VEN
                        required:
                          - destinationName
                          - destinationBankAccountNumber
                          - destinationBankName
                          - destinationTaxId
                          - destinationBankAccountType
                          - type
                        description: Venezuelan bank deposit details
                        title: Bank Deposit VEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationTaxId:
                            type: string
                            pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                            description: Tax ID of the recipient
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account
                          type:
                            type: string
                            enum:
                              - PHONE_DEPOSIT_VEN
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationPhoneNumber
                          - destinationTaxId
                          - destinationBankAccountType
                          - type
                        description: Venezuelan phone deposit details
                        title: Phone Deposit VEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_IN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          India bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit IN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - IMPS
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          India IMPS details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: IMPS
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - THAI_QR
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Thailand Thai QR details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Thai QR
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - VIET_QR
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Vietnam Viet QR details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Viet QR
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - GCASH
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Philippines GCash details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: GCash
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationTaxId:
                            type: string
                            description: Tax ID
                          type:
                            type: string
                            enum:
                              - MOBILE_PAYMENT_IN
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - destinationTaxId
                          - type
                        description: >-
                          India mobile payment details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Payment IN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankCode:
                            type: string
                            description: Bank code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_VN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankCode
                          - type
                        description: >-
                          Vietnam bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit VN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          bic:
                            type: string
                            description: >-
                              SWIFT BIC code (required for HKD payouts via the
                              HK bank corridor)
                          destinationBankName:
                            type: string
                            description: Bank name
                          destinationAddress:
                            type: string
                            description: Address line 1 of the recipient
                          destinationCity:
                            type: string
                            description: Recipient city (defaults to Hong Kong)
                          accountHolderName:
                            type: string
                            description: Bank account holder name if different from payee
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_HK
                        required:
                          - destinationName
                          - destinationBankAccount
                          - bic
                          - destinationBankName
                          - destinationAddress
                          - type
                        description: Hong Kong bank deposit details (HKD bank corridor)
                        title: Bank Deposit HK
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankCode:
                            type: string
                            pattern: ^\d+$
                            description: >-
                              CNAPS / bank institution code (numeric, variable
                              length)
                          destinationBankName:
                            type: string
                            description: Bank name
                          destinationAddress:
                            type: string
                            description: Address line 1 of the recipient
                          destinationCity:
                            type: string
                            description: Recipient city
                          destinationState:
                            type: string
                            minLength: 1
                            description: >-
                              Province / state of the recipient (required for CN
                              — the beneficiary is rejected in compliance review
                              without it)
                          destinationPostcode:
                            type: string
                            minLength: 1
                            description: >-
                              Postal code of the recipient (required for CN —
                              the beneficiary is rejected in compliance review
                              without it)
                          destinationPhone:
                            type: string
                            description: >-
                              Phone number of the recipient, without country
                              prefix (optional; defaulted for CN when omitted)
                          destinationTaxId:
                            type: string
                            description: >-
                              Unified Social Credit Code (USCC, GB 32100-2015)
                              of the recipient company — 18 characters including
                              the check digit; whitespace is removed and letters
                              are normalized to uppercase (optional)
                          accountHolderName:
                            type: string
                            description: Bank account holder name if different from payee
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankCode
                          - destinationBankName
                          - destinationAddress
                          - destinationCity
                          - destinationState
                          - destinationPostcode
                          - type
                        description: >-
                          China mainland bank deposit details (CNY bank
                          corridor)
                        title: Bank Deposit CN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/ARS/networks (the network selector,
                              optional)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_AR
                          destinationCBU:
                            type: string
                            description: CBU — 22-digit bank account key (legacy, optional)
                          destinationCVU:
                            type: string
                            description: >-
                              CVU — 22-digit virtual account key (legacy,
                              optional)
                          destinationAlias:
                            type: string
                            description: Account alias (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: >-
                              CUIT/CUIL tax ID of the recipient (required when
                              creating ARS bank destinations): exactly 11 digits
                              with no hyphens, spaces or other characters, and a
                              valid check digit (e.g. 20000000001)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Argentinian bank deposit details
                        title: Bank Deposit AR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            minLength: 1
                            description: >-
                              Recipient bank name (required for Chilean bank
                              payouts)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CL
                          destinationBankAccountType:
                            type: string
                            minLength: 1
                            description: >-
                              Account type — corriente or ahorro (required for
                              Chilean bank payouts)
                          destinationTaxId:
                            type: string
                            minLength: 1
                            description: >-
                              RUT tax ID of the recipient (required for Chilean
                              bank payouts)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankName
                          - type
                          - destinationBankAccountType
                          - destinationTaxId
                        description: Chilean bank deposit details
                        title: Bank Deposit CL
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            minLength: 2
                            maxLength: 30
                            description: Recipient name (required, 2–30 characters)
                          destinationBankAccount:
                            type: string
                            minLength: 1
                            maxLength: 11
                            description: >-
                              Bank account number (max 11 digits for Bolivian
                              accounts)
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (unused for BOB — no network
                              discovery)
                          destinationBankName:
                            type: string
                            maxLength: 20
                            description: Bank name (optional, max 20 characters)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BO
                          destinationTaxId:
                            type: string
                            minLength: 1
                            maxLength: 15
                            description: >-
                              NIT tax ID of the recipient (required for Bolivian
                              payouts)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                          - destinationTaxId
                        description: Bolivian bank deposit details
                        title: Bank Deposit BO
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/PEN/networks (the network selector)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_PE
                          destinationCCI:
                            type: string
                            description: >-
                              CCI — 20-digit interbank account code (legacy,
                              optional)
                          destinationBankAccountType:
                            type: string
                            description: Account type (corriente/ahorro) (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: >-
                              DNI/RUC document ID of the recipient (legacy,
                              optional)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationNetworkId
                          - type
                        description: >-
                          Peruvian bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit PE
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            pattern: ^\d{3}$
                            description: >-
                              Recipient bank code (the 3-digit code the rail
                              expects, not the name)
                          destinationBankAccountNumber:
                            type: string
                            minLength: 1
                            maxLength: 20
                            description: Recipient bank account number (max 20)
                          destinationBankAccountType:
                            type: string
                            enum:
                              - CORRIENTE
                              - AHORROS
                              - PHONE
                            description: Bank account type
                          destinationCCI:
                            type: string
                            pattern: ^\d{1,20}$
                            description: >-
                              CCI — Peruvian interbank code (required, digits
                              only, max 20)
                          destinationDocumentType:
                            type: string
                            enum:
                              - CC
                              - CE
                              - RUC
                              - PAS
                              - PAR
                              - LMI
                              - OTHER
                            description: Recipient identification type
                          destinationTaxId:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: Recipient identification number (max 50)
                          email:
                            type: string
                            pattern: ^.+@.+\..+$
                            description: Recipient email (required for PEN payouts)
                          destinationPhoneNumber:
                            type: string
                            pattern: ^\d{1,9}$
                            description: Recipient phone number (required, max 9 digits)
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_PEN
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccountNumber
                          - destinationBankAccountType
                          - destinationCCI
                          - destinationDocumentType
                          - destinationTaxId
                          - email
                          - destinationPhoneNumber
                          - type
                        description: >-
                          Peruvian bank deposit details (bank-code payout
                          corridor).
                        title: Bank Deposit PEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_NG
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Nigeria bank deposit details
                        title: Bank Deposit NG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_KE
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Kenya bank deposit details
                        title: Bank Deposit KE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_GH
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Ghana bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit GH
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZA
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: South Africa bank deposit details
                        title: Bank Deposit ZA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TZ
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Tanzania bank deposit details
                        title: Bank Deposit TZ
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_UG
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Uganda bank deposit details
                        title: Bank Deposit UG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_RW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Rwanda bank deposit details
                        title: Bank Deposit RW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Malawi bank deposit details
                        title: Bank Deposit MW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZM
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Zambia bank deposit details
                        title: Bank Deposit ZM
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Botswana bank deposit details
                        title: Bank Deposit BW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CD
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          DR Congo bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit CD
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XOF
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: West African CFA bank deposit details
                        title: Bank Deposit XOF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XAF
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Central African CFA bank deposit details
                        title: Bank Deposit XAF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_NG
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Nigeria mobile money details
                        title: Mobile Money NG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_KE
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Kenya mobile money details
                        title: Mobile Money KE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_GH
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: >-
                          Ghana mobile money details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Money GH
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZA
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: South Africa mobile money details
                        title: Mobile Money ZA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_TZ
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Tanzania mobile money details
                        title: Mobile Money TZ
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_UG
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Uganda mobile money details
                        title: Mobile Money UG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_RW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Rwanda mobile money details
                        title: Mobile Money RW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_MW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Malawi mobile money details
                        title: Mobile Money MW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZM
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Zambia mobile money details
                        title: Mobile Money ZM
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_BW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Botswana mobile money details
                        title: Mobile Money BW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_CD
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: >-
                          DR Congo mobile money details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Money CD
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_XOF
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: West African CFA mobile money details
                        title: Mobile Money XOF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_XAF
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Central African CFA mobile money details
                        title: Mobile Money XAF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationBankAccountNumber:
                            type: string
                            description: Bank account number (18-digit CLABE)
                          numericReference:
                            type: string
                            description: Numeric reference
                          notesReference:
                            type: string
                            description: Notes reference
                          destinationClabe:
                            type: string
                            description: >-
                              CLABE — legacy alias, prefer
                              destinationBankAccountNumber
                          destinationTaxId:
                            type: string
                            description: >-
                              Recipient tax id (RFC) — required by some MX
                              bank-deposit rails ("Número de Identificación");
                              optional otherwise
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MX
                        required:
                          - destinationName
                          - destinationBankAccountNumber
                          - type
                        description: Mexican bank deposit details
                        title: Bank Deposit MX
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPseNumber:
                            type: string
                            description: PSE number
                          type:
                            type: string
                            enum:
                              - PSE
                        required:
                          - destinationName
                          - destinationPseNumber
                          - type
                        description: >-
                          PSE transfer details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: PSE
                        deprecated: true
                    description: Detailed withdrawal information
                    title: WithdrawalInfo
                  source:
                    type: string
                    enum:
                      - ui
                      - apiApp
                      - externalApi
                      - internal
                    description: Source of withdrawal creation
                    example: externalApi
                  requires2FA:
                    type: boolean
                    description: Whether 2FA is required for this withdrawal
                    example: false
                  twoFactorToken:
                    type: string
                    description: 2FA token for email approval
                    example: abc123
                  twoFactorApprovedAt:
                    type: number
                    description: Timestamp when 2FA was approved
                    example: 1723027132
                  errorCode:
                    type: string
                    description: Error code when status is Review
                    example: INSUFFICIENT_BALANCE
                  errorDetails:
                    type: string
                    description: Detailed error information
                    example: Insufficient balance for withdrawal
                  reviewedBy:
                    type: string
                    description: Admin email who reviewed the withdrawal
                    example: admin@example.com
                  reviewedAt:
                    type: number
                    description: Timestamp when review happened
                    example: 1723027132
                required:
                  - withdrawalId
                  - createdAt
                  - amount
                  - currency
                  - fee
                  - feeCurrency
                  - status
                description: Response schema for creating a withdrawal
        '400':
          description: >-
            Bad request — invalid parameters, insufficient balance, or a
            malformed `Idempotency-Key` (invalid characters, over 128
            characters, or the header sent more than once)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            `Idempotency-Key` conflict: the key was already used with a
            different payload or by a different endpoint, or an identical
            request is still in progress — see the Idempotent writes section of
            the guide
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/withdrawals", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "amount": 1000,
                  "currency": "EUR",
                  "userEmail": "user@example.com",
                  "destinationTranferId": "123",
                  "destinationTransferData": {
                    "type": "SEPA",
                    "destinationName": "John Doe",
                    "iban": "ES9121000418450200051332",
                    "bic": "CAIXESBBXXX",
                    "country": "ES",
                    "address": "Calle Mayor 1"
                  },
                  "beneficiary": {
                    "name": "string",
                    "surname": "string",
                    "relationship": "third_party"
                  }
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/withdrawals",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "amount": 1000,
                    "currency": "EUR",
                    "userEmail": "user@example.com",
                    "destinationTranferId": "123",
                    "destinationTransferData": {
                        "type": "SEPA",
                        "destinationName": "John Doe",
                        "iban": "ES9121000418450200051332",
                        "bic": "CAIXESBBXXX",
                        "country": "ES",
                        "address": "Calle Mayor 1"
                    },
                    "beneficiary": {
                        "name": "string",
                        "surname": "string",
                        "relationship": "third_party"
                    }
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/withdrawals" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "amount": 1000,
              "currency": "EUR",
              "userEmail": "user@example.com",
              "destinationTranferId": "123",
              "destinationTransferData": {
                "type": "SEPA",
                "destinationName": "John Doe",
                "iban": "ES9121000418450200051332",
                "bic": "CAIXESBBXXX",
                "country": "ES",
                "address": "Calle Mayor 1"
              },
              "beneficiary": {
                "name": "string",
                "surname": "string",
                "relationship": "third_party"
              }
            }'
    get:
      summary: List withdrawals
      description: >-
        This endpoint retrieves a list of withdrawals based on various filters
        such as status, currency, date range, etc.
      tags:
        - Withdrawals
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Optional currency code to filter the items
            example: EUR
          required: false
          description: Optional currency code to filter the items
          name: currency
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: minAmount
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: maxAmount
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: from
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: to
          in: query
        - schema:
            type: string
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: >-
              Email of the user making the request. For a business payer this
              matches operations under any of its identities — the
              representative email and the organisation account — so listings
              stay complete across both.
            example: user@example.com
          required: false
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          name: userEmail
          in: query
        - schema:
            type: string
            description: >-
              General search (e.g. email or text). When provided, backend may
              use it for userEmail or text search.
          required: false
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
          name: search
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: limit
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: page
          in: query
        - schema:
            anyOf:
              - type: string
                enum:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
                description: >-
                  Common status values that are shared across all operation
                  types
                examples:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
              - type: string
                enum:
                  - PendingCancel
                  - PendingWithdrawal
                  - PendingVerification
                  - Pending2FA
                  - Compliance
                  - Accepted
                  - Approved
                  - Rejected
                  - Review
              - type: array
                items:
                  anyOf:
                    - type: string
                      enum:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                      description: >-
                        Common status values that are shared across all
                        operation types
                      examples:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                    - type: string
                      enum:
                        - PendingCancel
                        - PendingWithdrawal
                        - PendingVerification
                        - Pending2FA
                        - Compliance
                        - Accepted
                        - Approved
                        - Rejected
                        - Review
                  description: Status for withdrawal operations
                  examples:
                    - Pending
                    - Pending2FA
                    - Compliance
                    - Accepted
                    - Approved
                    - Success
                    - Failed
                    - Review
                    - Rejected
            description: >-
              Optional status to filter withdrawals. Can be a single status or
              an array of statuses for multiple filtering
            examples:
              - Pending
              - - Pending
                - Success
              - - Pending
                - Processing
                - Success
          required: false
          description: >-
            Optional status to filter withdrawals. Can be a single status or an
            array of statuses for multiple filtering
          name: status
          in: query
        - schema:
            type: string
            description: Network filter for the withdrawals in case of crypto withdrawals
            examples:
              - Ethereum
          required: false
          description: Network filter for the withdrawals in case of crypto withdrawals
          name: network
          in: query
      responses:
        '200':
          description: Successful retrieval of withdrawals list
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    withdrawalId:
                      anyOf:
                        - type: string
                          minLength: 12
                          maxLength: 12
                          pattern: ^[A-Z0-9]{12}$
                          examples:
                            - 01CLFXMT67II
                            - 2R7E5Y5KFXP8
                            - 4FWWRE3Y2URM
                        - type: string
                          format: uuid
                      description: ID of the withdrawal
                    userData:
                      oneOf:
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            lastName:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: >-
                                Last name of the user making the deposit (or
                                representative for business)
                              examples:
                                - Doe
                                - Smith
                                - Johnson
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - firstName
                            - userEmail
                            - country
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - business
                            businessName:
                              type: string
                              maxLength: 150
                              description: >-
                                Business name (required when userType is
                                business)
                              examples:
                                - Acme Corp
                                - Tech Solutions Inc
                                - Global Services Ltd
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - businessName
                            - firstName
                            - userEmail
                            - country
                      description: User data for the withdrawal
                    createdAt:
                      type: number
                      description: Creation time of the withdrawal
                      example: 1723027132
                    updatedAt:
                      type: number
                      description: Last update time of the withdrawal
                      example: 1723027132
                    userEmail:
                      type: string
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email of the user making the request
                      example: user@example.com
                    amount:
                      type: number
                      description: >-
                        Amount to be withdrawn. This value is written once the
                        withdrawal has been executed. Meanwhile it will appear
                        0.
                      example: 1000
                    currency:
                      type: string
                      description: Currency of the withdrawal
                      example: EUR
                    fee:
                      type: number
                      description: >-
                        Fee for the withdrawal. This value is written once the
                        withdrawal has been executed. Meanwhile it will appear
                        0.
                      example: 10
                    feeCurrency:
                      type: string
                      description: Currency of the fee
                      example: EUR
                    destinationTransferData:
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BALANCE
                          required:
                            - type
                          description: Balance transfer details
                          title: Balance
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            iban:
                              type: string
                              description: IBAN number
                            bic:
                              type: string
                              description: BIC number (optional)
                            country:
                              type: string
                              description: Country code
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for SEPA payouts
                                — provide it here or in
                                destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for SEPA
                                payouts — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as the payout beneficiary
                                `address.line1` when registering the
                                beneficiary. Stored on the saved transaction
                                method so the user does not have to re-supply it
                                on every withdraw.
                            type:
                              type: string
                              enum:
                                - SEPA
                          required:
                            - destinationName
                            - iban
                            - country
                            - type
                          description: SEPA transfer details
                          title: SEPA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: UK bank account number
                            sortCode:
                              type: string
                              description: UK sort code
                            country:
                              type: string
                              enum:
                                - GB
                              default: GB
                              description: >-
                                ISO 3166 country code of the recipient (GBP
                                transfer is UK-based)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - GBP_BANK_TRANSFER
                          required:
                            - destinationName
                            - accountNumber
                            - sortCode
                            - type
                          description: GBP domestic bank transfer details
                          title: BankDepositGB
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: US bank account number
                            routingNumber:
                              type: string
                              description: US ABA routing number
                            country:
                              type: string
                              enum:
                                - US
                              default: US
                              description: >-
                                ISO 3166 country code of the recipient (ACH is
                                US-domestic)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            bankAccountType:
                              type: string
                              enum:
                                - CHECKING
                                - SAVINGS
                              default: CHECKING
                              description: >-
                                Kind of bank account the payout lands in.
                                Defaults to CHECKING when omitted.
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            state:
                              type: string
                              pattern: ^[A-Z]{2}$
                              description: >-
                                Two-letter US state code of the recipient (e.g.
                                NY). REQUIRED for this rail.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - ACH_US
                          required:
                            - destinationName
                            - accountNumber
                            - routingNumber
                            - state
                            - type
                          description: USD ACH transfer details
                          title: AchUS
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - linkedBankAccount
                            accountLinkId:
                              type: string
                              pattern: ^alnk_[0-9a-f]{24}$
                              description: >-
                                Identifier of one of the account holder own
                                linked bank accounts
                              examples:
                                - alnk_0123456789abcdef01234567
                          required:
                            - type
                            - accountLinkId
                          description: >-
                            A bank account the account holder linked beforehand.
                            Pays out only to the holder of the order; never to a
                            third party. Not available yet.
                          title: LinkedBankAccount
                          deprecated: true
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ETH
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ETH destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ETH
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - MATIC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: MATIC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: MATIC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOL
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOL destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOL
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - TRON
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: TRON destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: TRON
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CELO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CELO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: CELO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BTC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BTC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: BTC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOLANA
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOLANA destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOLANA
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - XRP
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: XRP destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: XRP
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CARDANO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CARDANO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: CARDANO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BSC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BSC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BSC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ARBITRUM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ARBITRUM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ARBITRUM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - OPTIMISM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: OPTIMISM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: OPTIMISM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - AVALANCHE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: AVALANCHE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: AVALANCHE
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BASE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BASE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BASE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/COP/networks. Not read by the
                                payout; retained for the network selector and
                                for stored records.
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_COL
                            destinationBankCode:
                              type: string
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                (the code, not the name). Required when creating
                                or updating a destination.
                            destinationBankAccountType:
                              type: string
                              description: >-
                                Bank account type — CORRIENTE or AHORRO.
                                Required when creating or updating a
                                destination.
                            destinationTaxId:
                              type: string
                              description: >-
                                Recipient ID document number. Required when
                                creating or updating a destination.
                            destinationDocumentType:
                              type: string
                              description: >-
                                Recipient ID document type — CC, CE, NIT, TI or
                                PP. Required when creating or updating a
                                destination.
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Colombian bank deposit details. Equivalent to
                            ACH_COP — same payout rail, same required fields,
                            same bank roster; ACH_COP is recommended for new
                            integrations. Note that BANK_DEPOSIT_COL is also the
                            name of a COP collection rail.
                          title: Bank Deposit COL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            brebKey:
                              type: string
                              minLength: 1
                              description: >-
                                Bre-B key (llave) that identifies the recipient
                                account
                            email:
                              type: string
                              description: >-
                                Recipient email (optional contact for the Bre-B
                                rail)
                            destinationPhoneNumber:
                              type: string
                              description: >-
                                Recipient phone number (optional contact for the
                                Bre-B rail)
                            type:
                              type: string
                              enum:
                                - BRE_B_COP
                          required:
                            - destinationName
                            - brebKey
                            - type
                          description: Colombian Bre-B payout details
                          title: Bre-B COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{4}$
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=achCOP
                                (the code, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              description: Recipient bank account number
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: Bank account type (e.g. AHORROS / CORRIENTE)
                            destinationDocumentType:
                              type: string
                              minLength: 1
                              description: Recipient ID document type (e.g. CC / CE / NIT)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: Recipient ID document number
                            type:
                              type: string
                              enum:
                                - ACH_COP
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationDocumentType
                            - destinationTaxId
                            - type
                          description: Colombian ACH payout details
                          title: ACH COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for TWD — no network
                                discovery)
                            destinationBankName:
                              type: string
                              minLength: 2
                              description: >-
                                Bank name (required — TWD payouts run over
                                SWIFT)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TW
                            destinationBankBranch:
                              type: string
                              minLength: 2
                              description: >-
                                Bank branch (required — TWD payouts run over
                                SWIFT)
                            bic:
                              type: string
                              pattern: >-
                                ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                              description: SWIFT BIC code (required for TWD payouts)
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient (legacy, optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankBranch
                            - bic
                          description: Taiwan bank deposit details (SWIFT payout)
                          title: Bank Deposit TW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankBranch:
                              type: string
                              description: Bank branch
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BR
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccount
                            - destinationBankBranch
                            - destinationTaxId
                            - type
                          description: Brazilian bank deposit details
                          title: Bank Deposit BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPixCode:
                              type: string
                              description: PIX code
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - PIX_BR
                          required:
                            - destinationName
                            - destinationPixCode
                            - destinationTaxId
                            - type
                          description: Brazilian PIX details
                          title: PIX BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number
                            destinationBankName:
                              type: string
                              description: Name of the bank
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - destinationBankName
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan bank deposit details
                          title: Bank Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - PHONE_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationPhoneNumber
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan phone deposit details
                          title: Phone Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_IN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - IMPS
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India IMPS details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: IMPS
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - THAI_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Thailand Thai QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Thai QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - VIET_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Vietnam Viet QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Viet QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - GCASH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Philippines GCash details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: GCash
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              description: Tax ID
                            type:
                              type: string
                              enum:
                                - MOBILE_PAYMENT_IN
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - destinationTaxId
                            - type
                          description: >-
                            India mobile payment details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Payment IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              description: Bank code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - type
                          description: >-
                            Vietnam bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit VN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            bic:
                              type: string
                              description: >-
                                SWIFT BIC code (required for HKD payouts via the
                                HK bank corridor)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city (defaults to Hong Kong)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_HK
                          required:
                            - destinationName
                            - destinationBankAccount
                            - bic
                            - destinationBankName
                            - destinationAddress
                            - type
                          description: Hong Kong bank deposit details (HKD bank corridor)
                          title: Bank Deposit HK
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              pattern: ^\d+$
                              description: >-
                                CNAPS / bank institution code (numeric, variable
                                length)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city
                            destinationState:
                              type: string
                              minLength: 1
                              description: >-
                                Province / state of the recipient (required for
                                CN — the beneficiary is rejected in compliance
                                review without it)
                            destinationPostcode:
                              type: string
                              minLength: 1
                              description: >-
                                Postal code of the recipient (required for CN —
                                the beneficiary is rejected in compliance review
                                without it)
                            destinationPhone:
                              type: string
                              description: >-
                                Phone number of the recipient, without country
                                prefix (optional; defaulted for CN when omitted)
                            destinationTaxId:
                              type: string
                              description: >-
                                Unified Social Credit Code (USCC, GB 32100-2015)
                                of the recipient company — 18 characters
                                including the check digit; whitespace is removed
                                and letters are normalized to uppercase
                                (optional)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - destinationBankName
                            - destinationAddress
                            - destinationCity
                            - destinationState
                            - destinationPostcode
                            - type
                          description: >-
                            China mainland bank deposit details (CNY bank
                            corridor)
                          title: Bank Deposit CN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/ARS/networks (the network
                                selector, optional)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_AR
                            destinationCBU:
                              type: string
                              description: >-
                                CBU — 22-digit bank account key (legacy,
                                optional)
                            destinationCVU:
                              type: string
                              description: >-
                                CVU — 22-digit virtual account key (legacy,
                                optional)
                            destinationAlias:
                              type: string
                              description: Account alias (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                CUIT/CUIL tax ID of the recipient (required when
                                creating ARS bank destinations): exactly 11
                                digits with no hyphens, spaces or other
                                characters, and a valid check digit (e.g.
                                20000000001)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Argentinian bank deposit details
                          title: Bank Deposit AR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              minLength: 1
                              description: >-
                                Recipient bank name (required for Chilean bank
                                payouts)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CL
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: >-
                                Account type — corriente or ahorro (required for
                                Chilean bank payouts)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: >-
                                RUT tax ID of the recipient (required for
                                Chilean bank payouts)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankAccountType
                            - destinationTaxId
                          description: Chilean bank deposit details
                          title: Bank Deposit CL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              minLength: 2
                              maxLength: 30
                              description: Recipient name (required, 2–30 characters)
                            destinationBankAccount:
                              type: string
                              minLength: 1
                              maxLength: 11
                              description: >-
                                Bank account number (max 11 digits for Bolivian
                                accounts)
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for BOB — no network
                                discovery)
                            destinationBankName:
                              type: string
                              maxLength: 20
                              description: Bank name (optional, max 20 characters)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BO
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 15
                              description: >-
                                NIT tax ID of the recipient (required for
                                Bolivian payouts)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                            - destinationTaxId
                          description: Bolivian bank deposit details
                          title: Bank Deposit BO
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/PEN/networks (the network
                                selector)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PE
                            destinationCCI:
                              type: string
                              description: >-
                                CCI — 20-digit interbank account code (legacy,
                                optional)
                            destinationBankAccountType:
                              type: string
                              description: >-
                                Account type (corriente/ahorro) (legacy,
                                optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                DNI/RUC document ID of the recipient (legacy,
                                optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationNetworkId
                            - type
                          description: >-
                            Peruvian bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit PE
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{3}$
                              description: >-
                                Recipient bank code (the 3-digit code the rail
                                expects, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              maxLength: 20
                              description: Recipient bank account number (max 20)
                            destinationBankAccountType:
                              type: string
                              enum:
                                - CORRIENTE
                                - AHORROS
                                - PHONE
                              description: Bank account type
                            destinationCCI:
                              type: string
                              pattern: ^\d{1,20}$
                              description: >-
                                CCI — Peruvian interbank code (required, digits
                                only, max 20)
                            destinationDocumentType:
                              type: string
                              enum:
                                - CC
                                - CE
                                - RUC
                                - PAS
                                - PAR
                                - LMI
                                - OTHER
                              description: Recipient identification type
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: Recipient identification number (max 50)
                            email:
                              type: string
                              pattern: ^.+@.+\..+$
                              description: Recipient email (required for PEN payouts)
                            destinationPhoneNumber:
                              type: string
                              pattern: ^\d{1,9}$
                              description: Recipient phone number (required, max 9 digits)
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationCCI
                            - destinationDocumentType
                            - destinationTaxId
                            - email
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Peruvian bank deposit details (bank-code payout
                            corridor).
                          title: Bank Deposit PEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_NG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Nigeria bank deposit details
                          title: Bank Deposit NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_KE
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Kenya bank deposit details
                          title: Bank Deposit KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_GH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Ghana bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZA
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: South Africa bank deposit details
                          title: Bank Deposit ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TZ
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Tanzania bank deposit details
                          title: Bank Deposit TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_UG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Uganda bank deposit details
                          title: Bank Deposit UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_RW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Rwanda bank deposit details
                          title: Bank Deposit RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Malawi bank deposit details
                          title: Bank Deposit MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZM
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Zambia bank deposit details
                          title: Bank Deposit ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Botswana bank deposit details
                          title: Bank Deposit BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CD
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            DR Congo bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XOF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: West African CFA bank deposit details
                          title: Bank Deposit XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XAF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Central African CFA bank deposit details
                          title: Bank Deposit XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_NG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Nigeria mobile money details
                          title: Mobile Money NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_KE
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Kenya mobile money details
                          title: Mobile Money KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_GH
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Ghana mobile money details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Money GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZA
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: South Africa mobile money details
                          title: Mobile Money ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_TZ
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Tanzania mobile money details
                          title: Mobile Money TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_UG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Uganda mobile money details
                          title: Mobile Money UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_RW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Rwanda mobile money details
                          title: Mobile Money RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_MW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Malawi mobile money details
                          title: Mobile Money MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZM
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Zambia mobile money details
                          title: Mobile Money ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_BW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Botswana mobile money details
                          title: Mobile Money BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_CD
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            DR Congo mobile money details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Mobile Money CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XOF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: West African CFA mobile money details
                          title: Mobile Money XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XAF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Central African CFA mobile money details
                          title: Mobile Money XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number (18-digit CLABE)
                            numericReference:
                              type: string
                              description: Numeric reference
                            notesReference:
                              type: string
                              description: Notes reference
                            destinationClabe:
                              type: string
                              description: >-
                                CLABE — legacy alias, prefer
                                destinationBankAccountNumber
                            destinationTaxId:
                              type: string
                              description: >-
                                Recipient tax id (RFC) — required by some MX
                                bank-deposit rails ("Número de Identificación");
                                optional otherwise
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MX
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - type
                          description: Mexican bank deposit details
                          title: Bank Deposit MX
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPseNumber:
                              type: string
                              description: PSE number
                            type:
                              type: string
                              enum:
                                - PSE
                          required:
                            - destinationName
                            - destinationPseNumber
                            - type
                          description: >-
                            PSE transfer details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: PSE
                          deprecated: true
                      description: >-
                        The details required for the end user destination
                        transfer method.
                    status:
                      anyOf:
                        - type: string
                          enum:
                            - Pending
                            - Processing
                            - Success
                            - Failed
                            - Canceled
                            - Reviewing
                          description: >-
                            Common status values that are shared across all
                            operation types
                          examples:
                            - Pending
                            - Processing
                            - Success
                            - Failed
                            - Canceled
                            - Reviewing
                        - type: string
                          enum:
                            - PendingCancel
                            - PendingWithdrawal
                            - PendingVerification
                            - Pending2FA
                            - Compliance
                            - Accepted
                            - Approved
                            - Rejected
                            - Review
                      description: Status of the withdrawal
                      examples:
                        - Pending
                        - Pending2FA
                        - Compliance
                        - Accepted
                        - Approved
                        - Success
                        - Failed
                        - Review
                        - Rejected
                    withdrawalInfo:
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BALANCE
                          required:
                            - type
                          description: Balance transfer details
                          title: Balance
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            iban:
                              type: string
                              description: IBAN number
                            bic:
                              type: string
                              description: BIC number (optional)
                            country:
                              type: string
                              description: Country code
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for SEPA payouts
                                — provide it here or in
                                destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for SEPA
                                payouts — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as the payout beneficiary
                                `address.line1` when registering the
                                beneficiary. Stored on the saved transaction
                                method so the user does not have to re-supply it
                                on every withdraw.
                            type:
                              type: string
                              enum:
                                - SEPA
                          required:
                            - destinationName
                            - iban
                            - country
                            - type
                          description: SEPA transfer details
                          title: SEPA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: UK bank account number
                            sortCode:
                              type: string
                              description: UK sort code
                            country:
                              type: string
                              enum:
                                - GB
                              default: GB
                              description: >-
                                ISO 3166 country code of the recipient (GBP
                                transfer is UK-based)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - GBP_BANK_TRANSFER
                          required:
                            - destinationName
                            - accountNumber
                            - sortCode
                            - type
                          description: GBP domestic bank transfer details
                          title: BankDepositGB
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: US bank account number
                            routingNumber:
                              type: string
                              description: US ABA routing number
                            country:
                              type: string
                              enum:
                                - US
                              default: US
                              description: >-
                                ISO 3166 country code of the recipient (ACH is
                                US-domestic)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            bankAccountType:
                              type: string
                              enum:
                                - CHECKING
                                - SAVINGS
                              default: CHECKING
                              description: >-
                                Kind of bank account the payout lands in.
                                Defaults to CHECKING when omitted.
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            state:
                              type: string
                              pattern: ^[A-Z]{2}$
                              description: >-
                                Two-letter US state code of the recipient (e.g.
                                NY). REQUIRED for this rail.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - ACH_US
                          required:
                            - destinationName
                            - accountNumber
                            - routingNumber
                            - state
                            - type
                          description: USD ACH transfer details
                          title: AchUS
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - linkedBankAccount
                            accountLinkId:
                              type: string
                              pattern: ^alnk_[0-9a-f]{24}$
                              description: >-
                                Identifier of one of the account holder own
                                linked bank accounts
                              examples:
                                - alnk_0123456789abcdef01234567
                          required:
                            - type
                            - accountLinkId
                          description: >-
                            A bank account the account holder linked beforehand.
                            Pays out only to the holder of the order; never to a
                            third party. Not available yet.
                          title: LinkedBankAccount
                          deprecated: true
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ETH
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ETH destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ETH
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - MATIC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: MATIC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: MATIC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOL
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOL destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOL
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - TRON
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: TRON destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: TRON
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CELO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CELO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: CELO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BTC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BTC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: BTC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOLANA
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOLANA destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOLANA
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - XRP
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: XRP destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: XRP
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CARDANO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CARDANO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: CARDANO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BSC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BSC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BSC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ARBITRUM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ARBITRUM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ARBITRUM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - OPTIMISM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: OPTIMISM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: OPTIMISM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - AVALANCHE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: AVALANCHE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: AVALANCHE
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BASE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BASE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BASE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/COP/networks. Not read by the
                                payout; retained for the network selector and
                                for stored records.
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_COL
                            destinationBankCode:
                              type: string
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                (the code, not the name). Required when creating
                                or updating a destination.
                            destinationBankAccountType:
                              type: string
                              description: >-
                                Bank account type — CORRIENTE or AHORRO.
                                Required when creating or updating a
                                destination.
                            destinationTaxId:
                              type: string
                              description: >-
                                Recipient ID document number. Required when
                                creating or updating a destination.
                            destinationDocumentType:
                              type: string
                              description: >-
                                Recipient ID document type — CC, CE, NIT, TI or
                                PP. Required when creating or updating a
                                destination.
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Colombian bank deposit details. Equivalent to
                            ACH_COP — same payout rail, same required fields,
                            same bank roster; ACH_COP is recommended for new
                            integrations. Note that BANK_DEPOSIT_COL is also the
                            name of a COP collection rail.
                          title: Bank Deposit COL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            brebKey:
                              type: string
                              minLength: 1
                              description: >-
                                Bre-B key (llave) that identifies the recipient
                                account
                            email:
                              type: string
                              description: >-
                                Recipient email (optional contact for the Bre-B
                                rail)
                            destinationPhoneNumber:
                              type: string
                              description: >-
                                Recipient phone number (optional contact for the
                                Bre-B rail)
                            type:
                              type: string
                              enum:
                                - BRE_B_COP
                          required:
                            - destinationName
                            - brebKey
                            - type
                          description: Colombian Bre-B payout details
                          title: Bre-B COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{4}$
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=achCOP
                                (the code, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              description: Recipient bank account number
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: Bank account type (e.g. AHORROS / CORRIENTE)
                            destinationDocumentType:
                              type: string
                              minLength: 1
                              description: Recipient ID document type (e.g. CC / CE / NIT)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: Recipient ID document number
                            type:
                              type: string
                              enum:
                                - ACH_COP
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationDocumentType
                            - destinationTaxId
                            - type
                          description: Colombian ACH payout details
                          title: ACH COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for TWD — no network
                                discovery)
                            destinationBankName:
                              type: string
                              minLength: 2
                              description: >-
                                Bank name (required — TWD payouts run over
                                SWIFT)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TW
                            destinationBankBranch:
                              type: string
                              minLength: 2
                              description: >-
                                Bank branch (required — TWD payouts run over
                                SWIFT)
                            bic:
                              type: string
                              pattern: >-
                                ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                              description: SWIFT BIC code (required for TWD payouts)
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient (legacy, optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankBranch
                            - bic
                          description: Taiwan bank deposit details (SWIFT payout)
                          title: Bank Deposit TW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankBranch:
                              type: string
                              description: Bank branch
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BR
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccount
                            - destinationBankBranch
                            - destinationTaxId
                            - type
                          description: Brazilian bank deposit details
                          title: Bank Deposit BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPixCode:
                              type: string
                              description: PIX code
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - PIX_BR
                          required:
                            - destinationName
                            - destinationPixCode
                            - destinationTaxId
                            - type
                          description: Brazilian PIX details
                          title: PIX BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number
                            destinationBankName:
                              type: string
                              description: Name of the bank
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - destinationBankName
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan bank deposit details
                          title: Bank Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - PHONE_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationPhoneNumber
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan phone deposit details
                          title: Phone Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_IN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - IMPS
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India IMPS details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: IMPS
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - THAI_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Thailand Thai QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Thai QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - VIET_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Vietnam Viet QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Viet QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - GCASH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Philippines GCash details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: GCash
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              description: Tax ID
                            type:
                              type: string
                              enum:
                                - MOBILE_PAYMENT_IN
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - destinationTaxId
                            - type
                          description: >-
                            India mobile payment details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Payment IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              description: Bank code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - type
                          description: >-
                            Vietnam bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit VN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            bic:
                              type: string
                              description: >-
                                SWIFT BIC code (required for HKD payouts via the
                                HK bank corridor)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city (defaults to Hong Kong)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_HK
                          required:
                            - destinationName
                            - destinationBankAccount
                            - bic
                            - destinationBankName
                            - destinationAddress
                            - type
                          description: Hong Kong bank deposit details (HKD bank corridor)
                          title: Bank Deposit HK
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              pattern: ^\d+$
                              description: >-
                                CNAPS / bank institution code (numeric, variable
                                length)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city
                            destinationState:
                              type: string
                              minLength: 1
                              description: >-
                                Province / state of the recipient (required for
                                CN — the beneficiary is rejected in compliance
                                review without it)
                            destinationPostcode:
                              type: string
                              minLength: 1
                              description: >-
                                Postal code of the recipient (required for CN —
                                the beneficiary is rejected in compliance review
                                without it)
                            destinationPhone:
                              type: string
                              description: >-
                                Phone number of the recipient, without country
                                prefix (optional; defaulted for CN when omitted)
                            destinationTaxId:
                              type: string
                              description: >-
                                Unified Social Credit Code (USCC, GB 32100-2015)
                                of the recipient company — 18 characters
                                including the check digit; whitespace is removed
                                and letters are normalized to uppercase
                                (optional)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - destinationBankName
                            - destinationAddress
                            - destinationCity
                            - destinationState
                            - destinationPostcode
                            - type
                          description: >-
                            China mainland bank deposit details (CNY bank
                            corridor)
                          title: Bank Deposit CN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/ARS/networks (the network
                                selector, optional)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_AR
                            destinationCBU:
                              type: string
                              description: >-
                                CBU — 22-digit bank account key (legacy,
                                optional)
                            destinationCVU:
                              type: string
                              description: >-
                                CVU — 22-digit virtual account key (legacy,
                                optional)
                            destinationAlias:
                              type: string
                              description: Account alias (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                CUIT/CUIL tax ID of the recipient (required when
                                creating ARS bank destinations): exactly 11
                                digits with no hyphens, spaces or other
                                characters, and a valid check digit (e.g.
                                20000000001)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Argentinian bank deposit details
                          title: Bank Deposit AR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              minLength: 1
                              description: >-
                                Recipient bank name (required for Chilean bank
                                payouts)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CL
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: >-
                                Account type — corriente or ahorro (required for
                                Chilean bank payouts)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: >-
                                RUT tax ID of the recipient (required for
                                Chilean bank payouts)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankAccountType
                            - destinationTaxId
                          description: Chilean bank deposit details
                          title: Bank Deposit CL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              minLength: 2
                              maxLength: 30
                              description: Recipient name (required, 2–30 characters)
                            destinationBankAccount:
                              type: string
                              minLength: 1
                              maxLength: 11
                              description: >-
                                Bank account number (max 11 digits for Bolivian
                                accounts)
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for BOB — no network
                                discovery)
                            destinationBankName:
                              type: string
                              maxLength: 20
                              description: Bank name (optional, max 20 characters)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BO
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 15
                              description: >-
                                NIT tax ID of the recipient (required for
                                Bolivian payouts)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                            - destinationTaxId
                          description: Bolivian bank deposit details
                          title: Bank Deposit BO
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/PEN/networks (the network
                                selector)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PE
                            destinationCCI:
                              type: string
                              description: >-
                                CCI — 20-digit interbank account code (legacy,
                                optional)
                            destinationBankAccountType:
                              type: string
                              description: >-
                                Account type (corriente/ahorro) (legacy,
                                optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                DNI/RUC document ID of the recipient (legacy,
                                optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationNetworkId
                            - type
                          description: >-
                            Peruvian bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit PE
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{3}$
                              description: >-
                                Recipient bank code (the 3-digit code the rail
                                expects, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              maxLength: 20
                              description: Recipient bank account number (max 20)
                            destinationBankAccountType:
                              type: string
                              enum:
                                - CORRIENTE
                                - AHORROS
                                - PHONE
                              description: Bank account type
                            destinationCCI:
                              type: string
                              pattern: ^\d{1,20}$
                              description: >-
                                CCI — Peruvian interbank code (required, digits
                                only, max 20)
                            destinationDocumentType:
                              type: string
                              enum:
                                - CC
                                - CE
                                - RUC
                                - PAS
                                - PAR
                                - LMI
                                - OTHER
                              description: Recipient identification type
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: Recipient identification number (max 50)
                            email:
                              type: string
                              pattern: ^.+@.+\..+$
                              description: Recipient email (required for PEN payouts)
                            destinationPhoneNumber:
                              type: string
                              pattern: ^\d{1,9}$
                              description: Recipient phone number (required, max 9 digits)
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationCCI
                            - destinationDocumentType
                            - destinationTaxId
                            - email
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Peruvian bank deposit details (bank-code payout
                            corridor).
                          title: Bank Deposit PEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_NG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Nigeria bank deposit details
                          title: Bank Deposit NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_KE
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Kenya bank deposit details
                          title: Bank Deposit KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_GH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Ghana bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZA
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: South Africa bank deposit details
                          title: Bank Deposit ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TZ
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Tanzania bank deposit details
                          title: Bank Deposit TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_UG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Uganda bank deposit details
                          title: Bank Deposit UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_RW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Rwanda bank deposit details
                          title: Bank Deposit RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Malawi bank deposit details
                          title: Bank Deposit MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZM
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Zambia bank deposit details
                          title: Bank Deposit ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Botswana bank deposit details
                          title: Bank Deposit BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CD
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            DR Congo bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XOF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: West African CFA bank deposit details
                          title: Bank Deposit XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XAF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Central African CFA bank deposit details
                          title: Bank Deposit XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_NG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Nigeria mobile money details
                          title: Mobile Money NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_KE
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Kenya mobile money details
                          title: Mobile Money KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_GH
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Ghana mobile money details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Money GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZA
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: South Africa mobile money details
                          title: Mobile Money ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_TZ
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Tanzania mobile money details
                          title: Mobile Money TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_UG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Uganda mobile money details
                          title: Mobile Money UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_RW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Rwanda mobile money details
                          title: Mobile Money RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_MW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Malawi mobile money details
                          title: Mobile Money MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZM
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Zambia mobile money details
                          title: Mobile Money ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_BW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Botswana mobile money details
                          title: Mobile Money BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_CD
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            DR Congo mobile money details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Mobile Money CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XOF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: West African CFA mobile money details
                          title: Mobile Money XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XAF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Central African CFA mobile money details
                          title: Mobile Money XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number (18-digit CLABE)
                            numericReference:
                              type: string
                              description: Numeric reference
                            notesReference:
                              type: string
                              description: Notes reference
                            destinationClabe:
                              type: string
                              description: >-
                                CLABE — legacy alias, prefer
                                destinationBankAccountNumber
                            destinationTaxId:
                              type: string
                              description: >-
                                Recipient tax id (RFC) — required by some MX
                                bank-deposit rails ("Número de Identificación");
                                optional otherwise
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MX
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - type
                          description: Mexican bank deposit details
                          title: Bank Deposit MX
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPseNumber:
                              type: string
                              description: PSE number
                            type:
                              type: string
                              enum:
                                - PSE
                          required:
                            - destinationName
                            - destinationPseNumber
                            - type
                          description: >-
                            PSE transfer details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: PSE
                          deprecated: true
                      description: Detailed withdrawal information
                      title: WithdrawalInfo
                    source:
                      type: string
                      enum:
                        - ui
                        - apiApp
                        - externalApi
                        - internal
                      description: Source of withdrawal creation
                      example: externalApi
                    requires2FA:
                      type: boolean
                      description: Whether 2FA is required for this withdrawal
                      example: false
                    twoFactorToken:
                      type: string
                      description: 2FA token for email approval
                      example: abc123
                    twoFactorApprovedAt:
                      type: number
                      description: Timestamp when 2FA was approved
                      example: 1723027132
                    errorCode:
                      type: string
                      description: Error code when status is Review
                      example: INSUFFICIENT_BALANCE
                    errorDetails:
                      type: string
                      description: Detailed error information
                      example: Insufficient balance for withdrawal
                    reviewedBy:
                      type: string
                      description: Admin email who reviewed the withdrawal
                      example: admin@example.com
                    reviewedAt:
                      type: number
                      description: Timestamp when review happened
                      example: 1723027132
                  required:
                    - withdrawalId
                    - createdAt
                    - amount
                    - currency
                    - fee
                    - feeCurrency
                    - status
                  description: Withdrawal Data
                description: Response schema for listing withdrawals
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/withdrawals", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/withdrawals",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/withdrawals" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/withdrawals/{withdrawalId}:
    get:
      summary: Get withdrawal details
      description: This endpoint retrieves details of a specific withdrawal.
      tags:
        - Withdrawals
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: ID of the withdrawal
          required: true
          description: ID of the withdrawal
          name: withdrawalId
          in: path
        - schema:
            type: string
            format: email
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: Email of the user making the request
            example: user@example.com
          required: false
          description: Email of the user making the request
          name: userEmail
          in: path
      responses:
        '200':
          description: Successful retrieval of withdrawal details
          content:
            application/json:
              schema:
                type: object
                properties:
                  withdrawalId:
                    anyOf:
                      - type: string
                        minLength: 12
                        maxLength: 12
                        pattern: ^[A-Z0-9]{12}$
                        examples:
                          - 01CLFXMT67II
                          - 2R7E5Y5KFXP8
                          - 4FWWRE3Y2URM
                      - type: string
                        format: uuid
                    description: ID of the withdrawal
                  userData:
                    oneOf:
                      - type: object
                        properties:
                          userType:
                            type: string
                            enum:
                              - individual
                          firstName:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: >-
                              First name of the user making the deposit (or
                              representative for business)
                            examples:
                              - John
                              - Alice
                              - Bob
                          lastName:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: >-
                              Last name of the user making the deposit (or
                              representative for business)
                            examples:
                              - Doe
                              - Smith
                              - Johnson
                          userEmail:
                            type: string
                            maxLength: 254
                            format: email
                            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                            description: Email of the user making the deposit
                            examples:
                              - user@virtuabroker.com
                              - john.doe@example.com
                              - alice@example.com
                          address:
                            type: string
                            maxLength: 150
                            description: Address of the user making the deposit
                            examples:
                              - 123 Main St, Anytown, ES
                              - 456 Elm St, Anytown, ES
                              - 789 Oak St, Anytown, ES
                          taxDocumentType:
                            type: string
                            maxLength: 50
                            description: >-
                              Tax document type of the user making the deposit.
                              Common values: DNI, NIE, PASSPORT, CC, NIT, CE,
                              NIF, but any string is accepted.
                            examples:
                              - CC
                              - NIT
                              - CE
                              - NIF
                              - Other
                          taxId:
                            type: string
                            maxLength: 30
                            description: Tax ID of the user making the deposit
                            examples:
                              - 123-45-6789
                              - 987-65-4321
                              - 111-22-3333
                          country:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country code of the user making the deposit
                            examples:
                              - ES
                              - US
                              - GB
                          state:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: State of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          postalCode:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Postal code of the user making the deposit
                            examples:
                              - '12345'
                              - '67890'
                              - abcde
                          city:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: City of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          dob:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Date of birth of the user making the deposit
                            examples:
                              - '1990-01-01'
                              - '1995-05-15'
                              - '1988-12-31'
                          phoneNumber:
                            type: string
                            maxLength: 30
                            description: Phone number of the user making the deposit
                            examples:
                              - '+447700900123'
                              - '+447700900456'
                              - '+447700900789'
                          kycId:
                            type: string
                            minLength: 1
                            maxLength: 300
                            description: >-
                              KYC ID of the user making the deposit on your
                              platform (if the KYC is done by you, add the url)
                            examples:
                              - kyc-12345
                              - kyc-67890
                              - kyc-abcde
                          activity:
                            type: string
                            description: Activity of the user making the deposit
                            examples:
                              - worker
                              - business
                              - student
                        required:
                          - userType
                          - firstName
                          - userEmail
                          - country
                      - type: object
                        properties:
                          userType:
                            type: string
                            enum:
                              - business
                          businessName:
                            type: string
                            maxLength: 150
                            description: Business name (required when userType is business)
                            examples:
                              - Acme Corp
                              - Tech Solutions Inc
                              - Global Services Ltd
                          firstName:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: >-
                              First name of the user making the deposit (or
                              representative for business)
                            examples:
                              - John
                              - Alice
                              - Bob
                          userEmail:
                            type: string
                            maxLength: 254
                            format: email
                            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                            description: Email of the user making the deposit
                            examples:
                              - user@virtuabroker.com
                              - john.doe@example.com
                              - alice@example.com
                          address:
                            type: string
                            maxLength: 150
                            description: Address of the user making the deposit
                            examples:
                              - 123 Main St, Anytown, ES
                              - 456 Elm St, Anytown, ES
                              - 789 Oak St, Anytown, ES
                          taxDocumentType:
                            type: string
                            maxLength: 50
                            description: >-
                              Tax document type of the user making the deposit.
                              Common values: DNI, NIE, PASSPORT, CC, NIT, CE,
                              NIF, but any string is accepted.
                            examples:
                              - CC
                              - NIT
                              - CE
                              - NIF
                              - Other
                          taxId:
                            type: string
                            maxLength: 30
                            description: Tax ID of the user making the deposit
                            examples:
                              - 123-45-6789
                              - 987-65-4321
                              - 111-22-3333
                          country:
                            type: string
                            enum:
                              - US
                              - CA
                              - GB
                              - DE
                              - FR
                              - AU
                              - JP
                              - KR
                              - SE
                              - 'NO'
                              - DK
                              - FI
                              - NL
                              - BE
                              - CH
                              - AT
                              - NZ
                              - SG
                              - IE
                              - LU
                              - PT
                              - ES
                              - IT
                              - GR
                              - CZ
                              - PL
                              - HU
                              - SK
                              - SI
                              - EE
                              - LT
                              - LV
                              - IS
                              - MT
                              - CY
                              - HR
                              - RO
                              - BG
                              - BR
                              - AR
                              - CL
                              - MX
                              - CO
                              - PE
                              - PA
                              - UY
                              - BO
                              - ZA
                              - NG
                              - KE
                              - GH
                              - TZ
                              - UG
                              - RW
                              - MW
                              - ZM
                              - BW
                              - CD
                              - CI
                              - CM
                              - IL
                              - AE
                              - QA
                              - SA
                              - OM
                              - KW
                              - BH
                              - MY
                              - PH
                              - TH
                              - VN
                              - ID
                              - IN
                              - LK
                              - NP
                              - BD
                              - PK
                              - EG
                              - MA
                              - DZ
                              - TN
                              - JO
                              - LB
                              - TR
                              - KH
                              - MM
                              - LA
                              - EN
                              - BT
                              - VE
                              - TW
                              - HK
                              - CN
                            description: Country code of the user making the deposit
                            examples:
                              - ES
                              - US
                              - GB
                          state:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: State of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          postalCode:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Postal code of the user making the deposit
                            examples:
                              - '12345'
                              - '67890'
                              - abcde
                          city:
                            type: string
                            minLength: 1
                            maxLength: 100
                            description: City of the user making the deposit
                            examples:
                              - Madrid
                              - New York
                              - London
                          dob:
                            type: string
                            minLength: 1
                            maxLength: 30
                            description: Date of birth of the user making the deposit
                            examples:
                              - '1990-01-01'
                              - '1995-05-15'
                              - '1988-12-31'
                          phoneNumber:
                            type: string
                            maxLength: 30
                            description: Phone number of the user making the deposit
                            examples:
                              - '+447700900123'
                              - '+447700900456'
                              - '+447700900789'
                          kycId:
                            type: string
                            minLength: 1
                            maxLength: 300
                            description: >-
                              KYC ID of the user making the deposit on your
                              platform (if the KYC is done by you, add the url)
                            examples:
                              - kyc-12345
                              - kyc-67890
                              - kyc-abcde
                          activity:
                            type: string
                            description: Activity of the user making the deposit
                            examples:
                              - worker
                              - business
                              - student
                        required:
                          - userType
                          - businessName
                          - firstName
                          - userEmail
                          - country
                    description: User data for the withdrawal
                  createdAt:
                    type: number
                    description: Creation time of the withdrawal
                    example: 1723027132
                  updatedAt:
                    type: number
                    description: Last update time of the withdrawal
                    example: 1723027132
                  userEmail:
                    type: string
                    format: email
                    pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                    description: Email of the user making the request
                    example: user@example.com
                  amount:
                    type: number
                    description: >-
                      Amount to be withdrawn. This value is written once the
                      withdrawal has been executed. Meanwhile it will appear 0.
                    example: 1000
                  currency:
                    type: string
                    description: Currency of the withdrawal
                    example: EUR
                  fee:
                    type: number
                    description: >-
                      Fee for the withdrawal. This value is written once the
                      withdrawal has been executed. Meanwhile it will appear 0.
                    example: 10
                  feeCurrency:
                    type: string
                    description: Currency of the fee
                    example: EUR
                  destinationTransferData:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BALANCE
                        required:
                          - type
                        description: Balance transfer details
                        title: Balance
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          iban:
                            type: string
                            description: IBAN number
                          bic:
                            type: string
                            description: BIC number (optional)
                          country:
                            type: string
                            description: Country code
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for SEPA payouts —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for SEPA
                              payouts — provide it here or in
                              destinationUserData.postalCode.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as the payout beneficiary
                              `address.line1` when registering the beneficiary.
                              Stored on the saved transaction method so the user
                              does not have to re-supply it on every withdraw.
                          type:
                            type: string
                            enum:
                              - SEPA
                        required:
                          - destinationName
                          - iban
                          - country
                          - type
                        description: SEPA transfer details
                        title: SEPA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          accountNumber:
                            type: string
                            description: UK bank account number
                          sortCode:
                            type: string
                            description: UK sort code
                          country:
                            type: string
                            enum:
                              - GB
                            default: GB
                            description: >-
                              ISO 3166 country code of the recipient (GBP
                              transfer is UK-based)
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for this rail —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for this
                              rail — provide it here or in
                              destinationUserData.postalCode.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as payee address when creating the
                              payee.
                          type:
                            type: string
                            enum:
                              - GBP_BANK_TRANSFER
                        required:
                          - destinationName
                          - accountNumber
                          - sortCode
                          - type
                        description: GBP domestic bank transfer details
                        title: BankDepositGB
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          accountNumber:
                            type: string
                            description: US bank account number
                          routingNumber:
                            type: string
                            description: US ABA routing number
                          country:
                            type: string
                            enum:
                              - US
                            default: US
                            description: >-
                              ISO 3166 country code of the recipient (ACH is
                              US-domestic)
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          bankAccountType:
                            type: string
                            enum:
                              - CHECKING
                              - SAVINGS
                            default: CHECKING
                            description: >-
                              Kind of bank account the payout lands in. Defaults
                              to CHECKING when omitted.
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for this rail —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for this
                              rail — provide it here or in
                              destinationUserData.postalCode.
                          state:
                            type: string
                            pattern: ^[A-Z]{2}$
                            description: >-
                              Two-letter US state code of the recipient (e.g.
                              NY). REQUIRED for this rail.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as payee address when creating the
                              payee.
                          type:
                            type: string
                            enum:
                              - ACH_US
                        required:
                          - destinationName
                          - accountNumber
                          - routingNumber
                          - state
                          - type
                        description: USD ACH transfer details
                        title: AchUS
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - linkedBankAccount
                          accountLinkId:
                            type: string
                            pattern: ^alnk_[0-9a-f]{24}$
                            description: >-
                              Identifier of one of the account holder own linked
                              bank accounts
                            examples:
                              - alnk_0123456789abcdef01234567
                        required:
                          - type
                          - accountLinkId
                        description: >-
                          A bank account the account holder linked beforehand.
                          Pays out only to the holder of the order; never to a
                          third party. Not available yet.
                        title: LinkedBankAccount
                        deprecated: true
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - ETH
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: ETH destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: ETH
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - MATIC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: MATIC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: MATIC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - SOL
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: SOL destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: SOL
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - TRON
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: TRON destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: TRON
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - CELO
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: CELO destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: CELO
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BTC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BTC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: BTC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - SOLANA
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: SOLANA destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: SOLANA
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - XRP
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: XRP destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: XRP
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - CARDANO
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: CARDANO destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: CARDANO
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BSC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BSC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: BSC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - ARBITRUM
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: ARBITRUM destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: ARBITRUM
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - OPTIMISM
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: OPTIMISM destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: OPTIMISM
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - AVALANCHE
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: AVALANCHE destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: AVALANCHE
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BASE
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BASE destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: BASE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/COP/networks. Not read by the
                              payout; retained for the network selector and for
                              stored records.
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_COL
                          destinationBankCode:
                            type: string
                            description: >-
                              Recipient bank code — one of the 4-digit codes
                              published by GET
                              /v1/currencies/COP/destination-schema?method=bankDepositCOL
                              (the code, not the name). Required when creating
                              or updating a destination.
                          destinationBankAccountType:
                            type: string
                            description: >-
                              Bank account type — CORRIENTE or AHORRO. Required
                              when creating or updating a destination.
                          destinationTaxId:
                            type: string
                            description: >-
                              Recipient ID document number. Required when
                              creating or updating a destination.
                          destinationDocumentType:
                            type: string
                            description: >-
                              Recipient ID document type — CC, CE, NIT, TI or
                              PP. Required when creating or updating a
                              destination.
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Colombian bank deposit details. Equivalent to ACH_COP
                          — same payout rail, same required fields, same bank
                          roster; ACH_COP is recommended for new integrations.
                          Note that BANK_DEPOSIT_COL is also the name of a COP
                          collection rail.
                        title: Bank Deposit COL
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          brebKey:
                            type: string
                            minLength: 1
                            description: >-
                              Bre-B key (llave) that identifies the recipient
                              account
                          email:
                            type: string
                            description: >-
                              Recipient email (optional contact for the Bre-B
                              rail)
                          destinationPhoneNumber:
                            type: string
                            description: >-
                              Recipient phone number (optional contact for the
                              Bre-B rail)
                          type:
                            type: string
                            enum:
                              - BRE_B_COP
                        required:
                          - destinationName
                          - brebKey
                          - type
                        description: Colombian Bre-B payout details
                        title: Bre-B COP
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            pattern: ^\d{4}$
                            description: >-
                              Recipient bank code — one of the 4-digit codes
                              published by GET
                              /v1/currencies/COP/destination-schema?method=achCOP
                              (the code, not the name)
                          destinationBankAccountNumber:
                            type: string
                            minLength: 1
                            description: Recipient bank account number
                          destinationBankAccountType:
                            type: string
                            minLength: 1
                            description: Bank account type (e.g. AHORROS / CORRIENTE)
                          destinationDocumentType:
                            type: string
                            minLength: 1
                            description: Recipient ID document type (e.g. CC / CE / NIT)
                          destinationTaxId:
                            type: string
                            minLength: 1
                            description: Recipient ID document number
                          type:
                            type: string
                            enum:
                              - ACH_COP
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccountNumber
                          - destinationBankAccountType
                          - destinationDocumentType
                          - destinationTaxId
                          - type
                        description: Colombian ACH payout details
                        title: ACH COP
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (unused for TWD — no network
                              discovery)
                          destinationBankName:
                            type: string
                            minLength: 2
                            description: Bank name (required — TWD payouts run over SWIFT)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TW
                          destinationBankBranch:
                            type: string
                            minLength: 2
                            description: >-
                              Bank branch (required — TWD payouts run over
                              SWIFT)
                          bic:
                            type: string
                            pattern: >-
                              ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                            description: SWIFT BIC code (required for TWD payouts)
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient (legacy, optional)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankName
                          - type
                          - destinationBankBranch
                          - bic
                        description: Taiwan bank deposit details (SWIFT payout)
                        title: Bank Deposit TW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankBranch:
                            type: string
                            description: Bank branch
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BR
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccount
                          - destinationBankBranch
                          - destinationTaxId
                          - type
                        description: Brazilian bank deposit details
                        title: Bank Deposit BR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPixCode:
                            type: string
                            description: PIX code
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient
                          type:
                            type: string
                            enum:
                              - PIX_BR
                        required:
                          - destinationName
                          - destinationPixCode
                          - destinationTaxId
                          - type
                        description: Brazilian PIX details
                        title: PIX BR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccountNumber:
                            type: string
                            description: Bank account number
                          destinationBankName:
                            type: string
                            description: Name of the bank
                          destinationTaxId:
                            type: string
                            pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                            description: Tax ID of the recipient
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_VEN
                        required:
                          - destinationName
                          - destinationBankAccountNumber
                          - destinationBankName
                          - destinationTaxId
                          - destinationBankAccountType
                          - type
                        description: Venezuelan bank deposit details
                        title: Bank Deposit VEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationTaxId:
                            type: string
                            pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                            description: Tax ID of the recipient
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account
                          type:
                            type: string
                            enum:
                              - PHONE_DEPOSIT_VEN
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationPhoneNumber
                          - destinationTaxId
                          - destinationBankAccountType
                          - type
                        description: Venezuelan phone deposit details
                        title: Phone Deposit VEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_IN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          India bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit IN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - IMPS
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          India IMPS details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: IMPS
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - THAI_QR
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Thailand Thai QR details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Thai QR
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - VIET_QR
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Vietnam Viet QR details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Viet QR
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - GCASH
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Philippines GCash details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: GCash
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationTaxId:
                            type: string
                            description: Tax ID
                          type:
                            type: string
                            enum:
                              - MOBILE_PAYMENT_IN
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - destinationTaxId
                          - type
                        description: >-
                          India mobile payment details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Payment IN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankCode:
                            type: string
                            description: Bank code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_VN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankCode
                          - type
                        description: >-
                          Vietnam bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit VN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          bic:
                            type: string
                            description: >-
                              SWIFT BIC code (required for HKD payouts via the
                              HK bank corridor)
                          destinationBankName:
                            type: string
                            description: Bank name
                          destinationAddress:
                            type: string
                            description: Address line 1 of the recipient
                          destinationCity:
                            type: string
                            description: Recipient city (defaults to Hong Kong)
                          accountHolderName:
                            type: string
                            description: Bank account holder name if different from payee
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_HK
                        required:
                          - destinationName
                          - destinationBankAccount
                          - bic
                          - destinationBankName
                          - destinationAddress
                          - type
                        description: Hong Kong bank deposit details (HKD bank corridor)
                        title: Bank Deposit HK
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankCode:
                            type: string
                            pattern: ^\d+$
                            description: >-
                              CNAPS / bank institution code (numeric, variable
                              length)
                          destinationBankName:
                            type: string
                            description: Bank name
                          destinationAddress:
                            type: string
                            description: Address line 1 of the recipient
                          destinationCity:
                            type: string
                            description: Recipient city
                          destinationState:
                            type: string
                            minLength: 1
                            description: >-
                              Province / state of the recipient (required for CN
                              — the beneficiary is rejected in compliance review
                              without it)
                          destinationPostcode:
                            type: string
                            minLength: 1
                            description: >-
                              Postal code of the recipient (required for CN —
                              the beneficiary is rejected in compliance review
                              without it)
                          destinationPhone:
                            type: string
                            description: >-
                              Phone number of the recipient, without country
                              prefix (optional; defaulted for CN when omitted)
                          destinationTaxId:
                            type: string
                            description: >-
                              Unified Social Credit Code (USCC, GB 32100-2015)
                              of the recipient company — 18 characters including
                              the check digit; whitespace is removed and letters
                              are normalized to uppercase (optional)
                          accountHolderName:
                            type: string
                            description: Bank account holder name if different from payee
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankCode
                          - destinationBankName
                          - destinationAddress
                          - destinationCity
                          - destinationState
                          - destinationPostcode
                          - type
                        description: >-
                          China mainland bank deposit details (CNY bank
                          corridor)
                        title: Bank Deposit CN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/ARS/networks (the network selector,
                              optional)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_AR
                          destinationCBU:
                            type: string
                            description: CBU — 22-digit bank account key (legacy, optional)
                          destinationCVU:
                            type: string
                            description: >-
                              CVU — 22-digit virtual account key (legacy,
                              optional)
                          destinationAlias:
                            type: string
                            description: Account alias (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: >-
                              CUIT/CUIL tax ID of the recipient (required when
                              creating ARS bank destinations): exactly 11 digits
                              with no hyphens, spaces or other characters, and a
                              valid check digit (e.g. 20000000001)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Argentinian bank deposit details
                        title: Bank Deposit AR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            minLength: 1
                            description: >-
                              Recipient bank name (required for Chilean bank
                              payouts)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CL
                          destinationBankAccountType:
                            type: string
                            minLength: 1
                            description: >-
                              Account type — corriente or ahorro (required for
                              Chilean bank payouts)
                          destinationTaxId:
                            type: string
                            minLength: 1
                            description: >-
                              RUT tax ID of the recipient (required for Chilean
                              bank payouts)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankName
                          - type
                          - destinationBankAccountType
                          - destinationTaxId
                        description: Chilean bank deposit details
                        title: Bank Deposit CL
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            minLength: 2
                            maxLength: 30
                            description: Recipient name (required, 2–30 characters)
                          destinationBankAccount:
                            type: string
                            minLength: 1
                            maxLength: 11
                            description: >-
                              Bank account number (max 11 digits for Bolivian
                              accounts)
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (unused for BOB — no network
                              discovery)
                          destinationBankName:
                            type: string
                            maxLength: 20
                            description: Bank name (optional, max 20 characters)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BO
                          destinationTaxId:
                            type: string
                            minLength: 1
                            maxLength: 15
                            description: >-
                              NIT tax ID of the recipient (required for Bolivian
                              payouts)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                          - destinationTaxId
                        description: Bolivian bank deposit details
                        title: Bank Deposit BO
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/PEN/networks (the network selector)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_PE
                          destinationCCI:
                            type: string
                            description: >-
                              CCI — 20-digit interbank account code (legacy,
                              optional)
                          destinationBankAccountType:
                            type: string
                            description: Account type (corriente/ahorro) (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: >-
                              DNI/RUC document ID of the recipient (legacy,
                              optional)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationNetworkId
                          - type
                        description: >-
                          Peruvian bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit PE
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            pattern: ^\d{3}$
                            description: >-
                              Recipient bank code (the 3-digit code the rail
                              expects, not the name)
                          destinationBankAccountNumber:
                            type: string
                            minLength: 1
                            maxLength: 20
                            description: Recipient bank account number (max 20)
                          destinationBankAccountType:
                            type: string
                            enum:
                              - CORRIENTE
                              - AHORROS
                              - PHONE
                            description: Bank account type
                          destinationCCI:
                            type: string
                            pattern: ^\d{1,20}$
                            description: >-
                              CCI — Peruvian interbank code (required, digits
                              only, max 20)
                          destinationDocumentType:
                            type: string
                            enum:
                              - CC
                              - CE
                              - RUC
                              - PAS
                              - PAR
                              - LMI
                              - OTHER
                            description: Recipient identification type
                          destinationTaxId:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: Recipient identification number (max 50)
                          email:
                            type: string
                            pattern: ^.+@.+\..+$
                            description: Recipient email (required for PEN payouts)
                          destinationPhoneNumber:
                            type: string
                            pattern: ^\d{1,9}$
                            description: Recipient phone number (required, max 9 digits)
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_PEN
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccountNumber
                          - destinationBankAccountType
                          - destinationCCI
                          - destinationDocumentType
                          - destinationTaxId
                          - email
                          - destinationPhoneNumber
                          - type
                        description: >-
                          Peruvian bank deposit details (bank-code payout
                          corridor).
                        title: Bank Deposit PEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_NG
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Nigeria bank deposit details
                        title: Bank Deposit NG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_KE
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Kenya bank deposit details
                        title: Bank Deposit KE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_GH
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Ghana bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit GH
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZA
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: South Africa bank deposit details
                        title: Bank Deposit ZA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TZ
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Tanzania bank deposit details
                        title: Bank Deposit TZ
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_UG
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Uganda bank deposit details
                        title: Bank Deposit UG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_RW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Rwanda bank deposit details
                        title: Bank Deposit RW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Malawi bank deposit details
                        title: Bank Deposit MW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZM
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Zambia bank deposit details
                        title: Bank Deposit ZM
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Botswana bank deposit details
                        title: Bank Deposit BW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CD
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          DR Congo bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit CD
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XOF
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: West African CFA bank deposit details
                        title: Bank Deposit XOF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XAF
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Central African CFA bank deposit details
                        title: Bank Deposit XAF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_NG
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Nigeria mobile money details
                        title: Mobile Money NG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_KE
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Kenya mobile money details
                        title: Mobile Money KE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_GH
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: >-
                          Ghana mobile money details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Money GH
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZA
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: South Africa mobile money details
                        title: Mobile Money ZA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_TZ
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Tanzania mobile money details
                        title: Mobile Money TZ
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_UG
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Uganda mobile money details
                        title: Mobile Money UG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_RW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Rwanda mobile money details
                        title: Mobile Money RW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_MW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Malawi mobile money details
                        title: Mobile Money MW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZM
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Zambia mobile money details
                        title: Mobile Money ZM
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_BW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Botswana mobile money details
                        title: Mobile Money BW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_CD
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: >-
                          DR Congo mobile money details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Money CD
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_XOF
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: West African CFA mobile money details
                        title: Mobile Money XOF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_XAF
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Central African CFA mobile money details
                        title: Mobile Money XAF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationBankAccountNumber:
                            type: string
                            description: Bank account number (18-digit CLABE)
                          numericReference:
                            type: string
                            description: Numeric reference
                          notesReference:
                            type: string
                            description: Notes reference
                          destinationClabe:
                            type: string
                            description: >-
                              CLABE — legacy alias, prefer
                              destinationBankAccountNumber
                          destinationTaxId:
                            type: string
                            description: >-
                              Recipient tax id (RFC) — required by some MX
                              bank-deposit rails ("Número de Identificación");
                              optional otherwise
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MX
                        required:
                          - destinationName
                          - destinationBankAccountNumber
                          - type
                        description: Mexican bank deposit details
                        title: Bank Deposit MX
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPseNumber:
                            type: string
                            description: PSE number
                          type:
                            type: string
                            enum:
                              - PSE
                        required:
                          - destinationName
                          - destinationPseNumber
                          - type
                        description: >-
                          PSE transfer details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: PSE
                        deprecated: true
                    description: >-
                      The details required for the end user destination transfer
                      method.
                  status:
                    anyOf:
                      - type: string
                        enum:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                        description: >-
                          Common status values that are shared across all
                          operation types
                        examples:
                          - Pending
                          - Processing
                          - Success
                          - Failed
                          - Canceled
                          - Reviewing
                      - type: string
                        enum:
                          - PendingCancel
                          - PendingWithdrawal
                          - PendingVerification
                          - Pending2FA
                          - Compliance
                          - Accepted
                          - Approved
                          - Rejected
                          - Review
                    description: Status of the withdrawal
                    examples:
                      - Pending
                      - Pending2FA
                      - Compliance
                      - Accepted
                      - Approved
                      - Success
                      - Failed
                      - Review
                      - Rejected
                  withdrawalInfo:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BALANCE
                        required:
                          - type
                        description: Balance transfer details
                        title: Balance
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          iban:
                            type: string
                            description: IBAN number
                          bic:
                            type: string
                            description: BIC number (optional)
                          country:
                            type: string
                            description: Country code
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for SEPA payouts —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for SEPA
                              payouts — provide it here or in
                              destinationUserData.postalCode.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as the payout beneficiary
                              `address.line1` when registering the beneficiary.
                              Stored on the saved transaction method so the user
                              does not have to re-supply it on every withdraw.
                          type:
                            type: string
                            enum:
                              - SEPA
                        required:
                          - destinationName
                          - iban
                          - country
                          - type
                        description: SEPA transfer details
                        title: SEPA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          accountNumber:
                            type: string
                            description: UK bank account number
                          sortCode:
                            type: string
                            description: UK sort code
                          country:
                            type: string
                            enum:
                              - GB
                            default: GB
                            description: >-
                              ISO 3166 country code of the recipient (GBP
                              transfer is UK-based)
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for this rail —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for this
                              rail — provide it here or in
                              destinationUserData.postalCode.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as payee address when creating the
                              payee.
                          type:
                            type: string
                            enum:
                              - GBP_BANK_TRANSFER
                        required:
                          - destinationName
                          - accountNumber
                          - sortCode
                          - type
                        description: GBP domestic bank transfer details
                        title: BankDepositGB
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          accountNumber:
                            type: string
                            description: US bank account number
                          routingNumber:
                            type: string
                            description: US ABA routing number
                          country:
                            type: string
                            enum:
                              - US
                            default: US
                            description: >-
                              ISO 3166 country code of the recipient (ACH is
                              US-domestic)
                          accountType:
                            type: string
                            enum:
                              - PERSONAL
                              - BUSINESS
                            default: PERSONAL
                            description: Account type (optional)
                          bankAccountType:
                            type: string
                            enum:
                              - CHECKING
                              - SAVINGS
                            default: CHECKING
                            description: >-
                              Kind of bank account the payout lands in. Defaults
                              to CHECKING when omitted.
                          city:
                            type: string
                            description: >-
                              City of the recipient. REQUIRED for this rail —
                              provide it here or in destinationUserData.city.
                          postalCode:
                            type: string
                            description: >-
                              Postal code of the recipient. REQUIRED for this
                              rail — provide it here or in
                              destinationUserData.postalCode.
                          state:
                            type: string
                            pattern: ^[A-Z]{2}$
                            description: >-
                              Two-letter US state code of the recipient (e.g.
                              NY). REQUIRED for this rail.
                          address:
                            type: string
                            description: >-
                              Street address (line 1) of the recipient.
                              Forwarded as payee address when creating the
                              payee.
                          type:
                            type: string
                            enum:
                              - ACH_US
                        required:
                          - destinationName
                          - accountNumber
                          - routingNumber
                          - state
                          - type
                        description: USD ACH transfer details
                        title: AchUS
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - linkedBankAccount
                          accountLinkId:
                            type: string
                            pattern: ^alnk_[0-9a-f]{24}$
                            description: >-
                              Identifier of one of the account holder own linked
                              bank accounts
                            examples:
                              - alnk_0123456789abcdef01234567
                        required:
                          - type
                          - accountLinkId
                        description: >-
                          A bank account the account holder linked beforehand.
                          Pays out only to the holder of the order; never to a
                          third party. Not available yet.
                        title: LinkedBankAccount
                        deprecated: true
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - ETH
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: ETH destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: ETH
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - MATIC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: MATIC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: MATIC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - SOL
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: SOL destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: SOL
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - TRON
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: TRON destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: TRON
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - CELO
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: CELO destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: CELO
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BTC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BTC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: BTC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - SOLANA
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: SOLANA destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: SOLANA
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - XRP
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: XRP destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: XRP
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - CARDANO
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: CARDANO destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: \S
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: \S
                        title: CARDANO
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BSC
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BSC destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: BSC
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - ARBITRUM
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: ARBITRUM destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: ARBITRUM
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - OPTIMISM
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: OPTIMISM destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: OPTIMISM
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - AVALANCHE
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: AVALANCHE destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: AVALANCHE
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BASE
                          address:
                            type: string
                            description: >-
                              Destination wallet address. Send this rather than
                              the legacy `destinationWalletAddress` — at least
                              one of the two is required, and a payload carrying
                              neither is rejected. On EVM chains the address is
                              "0x" followed by 40 hex characters.
                          memo:
                            type: string
                            description: Memo for the wallet, when the chain uses one
                          txId:
                            type: string
                            description: Blockchain transaction ID
                          txUrlScan:
                            type: string
                            description: Blockchain explorer URL for the transaction
                          destinationWalletAddress:
                            type: string
                            description: >-
                              Destination wallet address (legacy shape). Still
                              accepted, but send `address` instead — at least
                              one of the two is required and supplying neither
                              is rejected.
                          destinationWalletMemo:
                            type: string
                            description: >-
                              Memo for the wallet (legacy shape) — send `memo`
                              instead
                          destinationNetwork:
                            type: string
                            description: >-
                              Network name, when the corridor addresses the
                              chain by name rather than by `type`
                          destinationNetworkId:
                            type: string
                            description: >-
                              Network id from GET
                              /v1/currencies/{currency}/networks, for corridors
                              where `supportsNetworkDiscovery` is true
                          destinationCurrencySymbol:
                            type: string
                            description: >-
                              Asset symbol on the chain. `type` names the chain,
                              so this is what separates the native coin from
                              tokens on it — ETH from USDC-on-Ethereum.
                        required:
                          - type
                        description: BASE destination details
                        anyOf:
                          - required:
                              - address
                            properties:
                              address:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          - required:
                              - destinationWalletAddress
                            properties:
                              destinationWalletAddress:
                                pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                        title: BASE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/COP/networks. Not read by the
                              payout; retained for the network selector and for
                              stored records.
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_COL
                          destinationBankCode:
                            type: string
                            description: >-
                              Recipient bank code — one of the 4-digit codes
                              published by GET
                              /v1/currencies/COP/destination-schema?method=bankDepositCOL
                              (the code, not the name). Required when creating
                              or updating a destination.
                          destinationBankAccountType:
                            type: string
                            description: >-
                              Bank account type — CORRIENTE or AHORRO. Required
                              when creating or updating a destination.
                          destinationTaxId:
                            type: string
                            description: >-
                              Recipient ID document number. Required when
                              creating or updating a destination.
                          destinationDocumentType:
                            type: string
                            description: >-
                              Recipient ID document type — CC, CE, NIT, TI or
                              PP. Required when creating or updating a
                              destination.
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Colombian bank deposit details. Equivalent to ACH_COP
                          — same payout rail, same required fields, same bank
                          roster; ACH_COP is recommended for new integrations.
                          Note that BANK_DEPOSIT_COL is also the name of a COP
                          collection rail.
                        title: Bank Deposit COL
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          brebKey:
                            type: string
                            minLength: 1
                            description: >-
                              Bre-B key (llave) that identifies the recipient
                              account
                          email:
                            type: string
                            description: >-
                              Recipient email (optional contact for the Bre-B
                              rail)
                          destinationPhoneNumber:
                            type: string
                            description: >-
                              Recipient phone number (optional contact for the
                              Bre-B rail)
                          type:
                            type: string
                            enum:
                              - BRE_B_COP
                        required:
                          - destinationName
                          - brebKey
                          - type
                        description: Colombian Bre-B payout details
                        title: Bre-B COP
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            pattern: ^\d{4}$
                            description: >-
                              Recipient bank code — one of the 4-digit codes
                              published by GET
                              /v1/currencies/COP/destination-schema?method=achCOP
                              (the code, not the name)
                          destinationBankAccountNumber:
                            type: string
                            minLength: 1
                            description: Recipient bank account number
                          destinationBankAccountType:
                            type: string
                            minLength: 1
                            description: Bank account type (e.g. AHORROS / CORRIENTE)
                          destinationDocumentType:
                            type: string
                            minLength: 1
                            description: Recipient ID document type (e.g. CC / CE / NIT)
                          destinationTaxId:
                            type: string
                            minLength: 1
                            description: Recipient ID document number
                          type:
                            type: string
                            enum:
                              - ACH_COP
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccountNumber
                          - destinationBankAccountType
                          - destinationDocumentType
                          - destinationTaxId
                          - type
                        description: Colombian ACH payout details
                        title: ACH COP
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (unused for TWD — no network
                              discovery)
                          destinationBankName:
                            type: string
                            minLength: 2
                            description: Bank name (required — TWD payouts run over SWIFT)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TW
                          destinationBankBranch:
                            type: string
                            minLength: 2
                            description: >-
                              Bank branch (required — TWD payouts run over
                              SWIFT)
                          bic:
                            type: string
                            pattern: >-
                              ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                            description: SWIFT BIC code (required for TWD payouts)
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient (legacy, optional)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankName
                          - type
                          - destinationBankBranch
                          - bic
                        description: Taiwan bank deposit details (SWIFT payout)
                        title: Bank Deposit TW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankBranch:
                            type: string
                            description: Bank branch
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BR
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccount
                          - destinationBankBranch
                          - destinationTaxId
                          - type
                        description: Brazilian bank deposit details
                        title: Bank Deposit BR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPixCode:
                            type: string
                            description: PIX code
                          destinationTaxId:
                            type: string
                            description: Tax ID of the recipient
                          type:
                            type: string
                            enum:
                              - PIX_BR
                        required:
                          - destinationName
                          - destinationPixCode
                          - destinationTaxId
                          - type
                        description: Brazilian PIX details
                        title: PIX BR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccountNumber:
                            type: string
                            description: Bank account number
                          destinationBankName:
                            type: string
                            description: Name of the bank
                          destinationTaxId:
                            type: string
                            pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                            description: Tax ID of the recipient
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_VEN
                        required:
                          - destinationName
                          - destinationBankAccountNumber
                          - destinationBankName
                          - destinationTaxId
                          - destinationBankAccountType
                          - type
                        description: Venezuelan bank deposit details
                        title: Bank Deposit VEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationTaxId:
                            type: string
                            pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                            description: Tax ID of the recipient
                          destinationBankAccountType:
                            type: string
                            description: Type of bank account
                          type:
                            type: string
                            enum:
                              - PHONE_DEPOSIT_VEN
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationPhoneNumber
                          - destinationTaxId
                          - destinationBankAccountType
                          - type
                        description: Venezuelan phone deposit details
                        title: Phone Deposit VEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_IN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          India bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit IN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - IMPS
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          India IMPS details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: IMPS
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - THAI_QR
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Thailand Thai QR details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Thai QR
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - VIET_QR
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Vietnam Viet QR details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Viet QR
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationIFSC:
                            type: string
                            description: IFSC code
                          type:
                            type: string
                            enum:
                              - GCASH
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Philippines GCash details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: GCash
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationTaxId:
                            type: string
                            description: Tax ID
                          type:
                            type: string
                            enum:
                              - MOBILE_PAYMENT_IN
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - destinationTaxId
                          - type
                        description: >-
                          India mobile payment details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Payment IN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankCode:
                            type: string
                            description: Bank code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_VN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankCode
                          - type
                        description: >-
                          Vietnam bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit VN
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          bic:
                            type: string
                            description: >-
                              SWIFT BIC code (required for HKD payouts via the
                              HK bank corridor)
                          destinationBankName:
                            type: string
                            description: Bank name
                          destinationAddress:
                            type: string
                            description: Address line 1 of the recipient
                          destinationCity:
                            type: string
                            description: Recipient city (defaults to Hong Kong)
                          accountHolderName:
                            type: string
                            description: Bank account holder name if different from payee
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_HK
                        required:
                          - destinationName
                          - destinationBankAccount
                          - bic
                          - destinationBankName
                          - destinationAddress
                          - type
                        description: Hong Kong bank deposit details (HKD bank corridor)
                        title: Bank Deposit HK
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationBankCode:
                            type: string
                            pattern: ^\d+$
                            description: >-
                              CNAPS / bank institution code (numeric, variable
                              length)
                          destinationBankName:
                            type: string
                            description: Bank name
                          destinationAddress:
                            type: string
                            description: Address line 1 of the recipient
                          destinationCity:
                            type: string
                            description: Recipient city
                          destinationState:
                            type: string
                            minLength: 1
                            description: >-
                              Province / state of the recipient (required for CN
                              — the beneficiary is rejected in compliance review
                              without it)
                          destinationPostcode:
                            type: string
                            minLength: 1
                            description: >-
                              Postal code of the recipient (required for CN —
                              the beneficiary is rejected in compliance review
                              without it)
                          destinationPhone:
                            type: string
                            description: >-
                              Phone number of the recipient, without country
                              prefix (optional; defaulted for CN when omitted)
                          destinationTaxId:
                            type: string
                            description: >-
                              Unified Social Credit Code (USCC, GB 32100-2015)
                              of the recipient company — 18 characters including
                              the check digit; whitespace is removed and letters
                              are normalized to uppercase (optional)
                          accountHolderName:
                            type: string
                            description: Bank account holder name if different from payee
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CN
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankCode
                          - destinationBankName
                          - destinationAddress
                          - destinationCity
                          - destinationState
                          - destinationPostcode
                          - type
                        description: >-
                          China mainland bank deposit details (CNY bank
                          corridor)
                        title: Bank Deposit CN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/ARS/networks (the network selector,
                              optional)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_AR
                          destinationCBU:
                            type: string
                            description: CBU — 22-digit bank account key (legacy, optional)
                          destinationCVU:
                            type: string
                            description: >-
                              CVU — 22-digit virtual account key (legacy,
                              optional)
                          destinationAlias:
                            type: string
                            description: Account alias (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: >-
                              CUIT/CUIL tax ID of the recipient (required when
                              creating ARS bank destinations): exactly 11 digits
                              with no hyphens, spaces or other characters, and a
                              valid check digit (e.g. 20000000001)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Argentinian bank deposit details
                        title: Bank Deposit AR
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            minLength: 1
                            description: >-
                              Recipient bank name (required for Chilean bank
                              payouts)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CL
                          destinationBankAccountType:
                            type: string
                            minLength: 1
                            description: >-
                              Account type — corriente or ahorro (required for
                              Chilean bank payouts)
                          destinationTaxId:
                            type: string
                            minLength: 1
                            description: >-
                              RUT tax ID of the recipient (required for Chilean
                              bank payouts)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationBankName
                          - type
                          - destinationBankAccountType
                          - destinationTaxId
                        description: Chilean bank deposit details
                        title: Bank Deposit CL
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            minLength: 2
                            maxLength: 30
                            description: Recipient name (required, 2–30 characters)
                          destinationBankAccount:
                            type: string
                            minLength: 1
                            maxLength: 11
                            description: >-
                              Bank account number (max 11 digits for Bolivian
                              accounts)
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (unused for BOB — no network
                              discovery)
                          destinationBankName:
                            type: string
                            maxLength: 20
                            description: Bank name (optional, max 20 characters)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BO
                          destinationTaxId:
                            type: string
                            minLength: 1
                            maxLength: 15
                            description: >-
                              NIT tax ID of the recipient (required for Bolivian
                              payouts)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                          - destinationTaxId
                        description: Bolivian bank deposit details
                        title: Bank Deposit BO
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id from GET
                              /v1/currencies/PEN/networks (the network selector)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_PE
                          destinationCCI:
                            type: string
                            description: >-
                              CCI — 20-digit interbank account code (legacy,
                              optional)
                          destinationBankAccountType:
                            type: string
                            description: Account type (corriente/ahorro) (legacy, optional)
                          destinationTaxId:
                            type: string
                            description: >-
                              DNI/RUC document ID of the recipient (legacy,
                              optional)
                          destinationDocumentType:
                            type: string
                            description: Document type of the recipient (legacy, optional)
                        required:
                          - destinationName
                          - destinationBankAccount
                          - destinationNetworkId
                          - type
                        description: >-
                          Peruvian bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit PE
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            pattern: ^\d{3}$
                            description: >-
                              Recipient bank code (the 3-digit code the rail
                              expects, not the name)
                          destinationBankAccountNumber:
                            type: string
                            minLength: 1
                            maxLength: 20
                            description: Recipient bank account number (max 20)
                          destinationBankAccountType:
                            type: string
                            enum:
                              - CORRIENTE
                              - AHORROS
                              - PHONE
                            description: Bank account type
                          destinationCCI:
                            type: string
                            pattern: ^\d{1,20}$
                            description: >-
                              CCI — Peruvian interbank code (required, digits
                              only, max 20)
                          destinationDocumentType:
                            type: string
                            enum:
                              - CC
                              - CE
                              - RUC
                              - PAS
                              - PAR
                              - LMI
                              - OTHER
                            description: Recipient identification type
                          destinationTaxId:
                            type: string
                            minLength: 1
                            maxLength: 50
                            description: Recipient identification number (max 50)
                          email:
                            type: string
                            pattern: ^.+@.+\..+$
                            description: Recipient email (required for PEN payouts)
                          destinationPhoneNumber:
                            type: string
                            pattern: ^\d{1,9}$
                            description: Recipient phone number (required, max 9 digits)
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_PEN
                        required:
                          - destinationName
                          - destinationBankCode
                          - destinationBankAccountNumber
                          - destinationBankAccountType
                          - destinationCCI
                          - destinationDocumentType
                          - destinationTaxId
                          - email
                          - destinationPhoneNumber
                          - type
                        description: >-
                          Peruvian bank deposit details (bank-code payout
                          corridor).
                        title: Bank Deposit PEN
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_NG
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Nigeria bank deposit details
                        title: Bank Deposit NG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_KE
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Kenya bank deposit details
                        title: Bank Deposit KE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_GH
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          Ghana bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit GH
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZA
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: South Africa bank deposit details
                        title: Bank Deposit ZA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_TZ
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Tanzania bank deposit details
                        title: Bank Deposit TZ
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_UG
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Uganda bank deposit details
                        title: Bank Deposit UG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_RW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Rwanda bank deposit details
                        title: Bank Deposit RW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Malawi bank deposit details
                        title: Bank Deposit MW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_ZM
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Zambia bank deposit details
                        title: Bank Deposit ZM
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_BW
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Botswana bank deposit details
                        title: Bank Deposit BW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_CD
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: >-
                          DR Congo bank deposit details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Bank Deposit CD
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XOF
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: West African CFA bank deposit details
                        title: Bank Deposit XOF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankAccount:
                            type: string
                            description: Bank account
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if destinationBankName
                              is given)
                          destinationBankName:
                            type: string
                            description: >-
                              Bank name (used to resolve the network when id is
                              omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_XAF
                        required:
                          - destinationName
                          - destinationBankAccount
                          - type
                        description: Central African CFA bank deposit details
                        title: Bank Deposit XAF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_NG
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Nigeria mobile money details
                        title: Mobile Money NG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_KE
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Kenya mobile money details
                        title: Mobile Money KE
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_GH
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: >-
                          Ghana mobile money details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Money GH
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZA
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: South Africa mobile money details
                        title: Mobile Money ZA
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_TZ
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Tanzania mobile money details
                        title: Mobile Money TZ
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_UG
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Uganda mobile money details
                        title: Mobile Money UG
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_RW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Rwanda mobile money details
                        title: Mobile Money RW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_MW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Malawi mobile money details
                        title: Mobile Money MW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_ZM
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Zambia mobile money details
                        title: Mobile Money ZM
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_BW
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Botswana mobile money details
                        title: Mobile Money BW
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_CD
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: >-
                          DR Congo mobile money details. Deprecated — no active
                          payout corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: Mobile Money CD
                        deprecated: true
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_XOF
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: West African CFA mobile money details
                        title: Mobile Money XOF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPhoneNumber:
                            type: string
                            description: Phone number
                          destinationNetworkId:
                            type: string
                            description: >-
                              Payout network id (optional if
                              destinationNetworkName is given)
                          destinationNetworkName:
                            type: string
                            description: >-
                              Mobile money network name (resolves the network
                              when id omitted)
                          country:
                            type: string
                            description: ISO 3166 country code
                          type:
                            type: string
                            enum:
                              - MOBILE_MONEY_XAF
                        required:
                          - destinationName
                          - destinationPhoneNumber
                          - type
                        description: Central African CFA mobile money details
                        title: Mobile Money XAF
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationBankCode:
                            type: string
                            description: Bank code
                          destinationBankAccountNumber:
                            type: string
                            description: Bank account number (18-digit CLABE)
                          numericReference:
                            type: string
                            description: Numeric reference
                          notesReference:
                            type: string
                            description: Notes reference
                          destinationClabe:
                            type: string
                            description: >-
                              CLABE — legacy alias, prefer
                              destinationBankAccountNumber
                          destinationTaxId:
                            type: string
                            description: >-
                              Recipient tax id (RFC) — required by some MX
                              bank-deposit rails ("Número de Identificación");
                              optional otherwise
                          type:
                            type: string
                            enum:
                              - BANK_DEPOSIT_MX
                        required:
                          - destinationName
                          - destinationBankAccountNumber
                          - type
                        description: Mexican bank deposit details
                        title: Bank Deposit MX
                      - type: object
                        properties:
                          destinationName:
                            type: string
                            description: Name of the recipient
                          destinationPseNumber:
                            type: string
                            description: PSE number
                          type:
                            type: string
                            enum:
                              - PSE
                        required:
                          - destinationName
                          - destinationPseNumber
                          - type
                        description: >-
                          PSE transfer details. Deprecated — no active payout
                          corridor for this method; orders using it are
                          rejected. Retained for backward compatibility with
                          stored destinations.
                        title: PSE
                        deprecated: true
                    description: Detailed withdrawal information
                    title: WithdrawalInfo
                  source:
                    type: string
                    enum:
                      - ui
                      - apiApp
                      - externalApi
                      - internal
                    description: Source of withdrawal creation
                    example: externalApi
                  requires2FA:
                    type: boolean
                    description: Whether 2FA is required for this withdrawal
                    example: false
                  twoFactorToken:
                    type: string
                    description: 2FA token for email approval
                    example: abc123
                  twoFactorApprovedAt:
                    type: number
                    description: Timestamp when 2FA was approved
                    example: 1723027132
                  errorCode:
                    type: string
                    description: Error code when status is Review
                    example: INSUFFICIENT_BALANCE
                  errorDetails:
                    type: string
                    description: Detailed error information
                    example: Insufficient balance for withdrawal
                  reviewedBy:
                    type: string
                    description: Admin email who reviewed the withdrawal
                    example: admin@example.com
                  reviewedAt:
                    type: number
                    description: Timestamp when review happened
                    example: 1723027132
                required:
                  - withdrawalId
                  - createdAt
                  - amount
                  - currency
                  - fee
                  - feeCurrency
                  - status
                description: Response schema for getting withdrawal details
        '404':
          description: Withdrawal not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/withdrawals/wdr_8Hq2Lm4v", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/withdrawals/wdr_8Hq2Lm4v",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/withdrawals/wdr_8Hq2Lm4v" \
              -H "Authorization: Bearer $VB_TOKEN"
    delete:
      summary: Delete a withdrawal
      description: >-
        This endpoint cancels a specific withdrawal. The withdrawal must be in
        status Pending. Once executed, the withdrawal changes to status
        PendingCancel, and the reserved balance is restored.
      tags:
        - Withdrawals
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: ID of the withdrawal
          required: true
          description: ID of the withdrawal
          name: withdrawalId
          in: path
        - schema:
            type: string
            format: email
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: Email of the user making the request
            example: user@example.com
          required: false
          description: Email of the user making the request
          name: userEmail
          in: path
      responses:
        '200':
          description: Successful deletion of withdrawal
          content:
            application/json:
              schema:
                type: object
                properties: {}
                description: Response schema for successful deletion
        '400':
          description: Bad request - Withdrawal cannot be deleted (wrong status)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Withdrawal not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/withdrawals/wdr_8Hq2Lm4v", {
                method: "DELETE",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.delete(
                "https://api.virtuabroker.com/v1/withdrawals/wdr_8Hq2Lm4v",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X DELETE
            "https://api.virtuabroker.com/v1/withdrawals/wdr_8Hq2Lm4v" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/simulate/incoming-transfer/deposit:
    post:
      summary: Simulate the inbound transfer that funds a deposit (stage only)
      description: >-
        Stands in for the money movement a deposit is waiting on, so a stage
        deposit leaves `Pending` without real funds. **Required:** `depositId`
        and `amount`. **Optional:** `scenario` — `success` (default),
        `processing`, `compliance_review` or `failed` — plus `counterparty`
        (`name`, `iban`) for fiat, or `fromAddress` for crypto. Send the
        expected amount to get `deposit_completed`; a different amount yields
        `deposit_partially_completed`. The webhooks fire exactly as they would
        for a real transfer.


        **Stage only** — not mounted on production.
      tags:
        - Simulation
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                depositId:
                  type: string
                  minLength: 1
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                scenario:
                  type: string
                  enum:
                    - success
                    - failed
                    - compliance_review
                    - processing
                  default: success
                counterparty:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                    iban:
                      type: string
                    accountNumber:
                      type: string
                    routingNumber:
                      type: string
                    clabe:
                      type: string
                    taxId:
                      type: string
                    pixKey:
                      type: string
                    mobileMoneyNumber:
                      type: string
                    email:
                      type: string
                      minLength: 1
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email address
                    address:
                      type: string
                  required:
                    - name
                  additionalProperties: false
                fromAddress:
                  type: string
              required:
                - depositId
                - amount
              additionalProperties: false
      responses:
        '200':
          description: Simulation accepted and dispatched
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                required:
                  - success
                additionalProperties: false
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: >-
            Not found — the referenced entity does not exist, or simulation is
            not enabled in this environment
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer/deposit",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "depositId": "string",
                  "amount": 0,
                  "scenario": "success",
                  "counterparty": {
                    "name": "string",
                    "iban": "string",
                    "accountNumber": "string",
                    "routingNumber": "string",
                    "clabe": "string",
                    "taxId": "string",
                    "pixKey": "string",
                    "mobileMoneyNumber": "string",
                    "email": "string",
                    "address": "string"
                  },
                  "fromAddress": "string"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer/deposit",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "depositId": "string",
                    "amount": 0,
                    "scenario": "success",
                    "counterparty": {
                        "name": "string",
                        "iban": "string",
                        "accountNumber": "string",
                        "routingNumber": "string",
                        "clabe": "string",
                        "taxId": "string",
                        "pixKey": "string",
                        "mobileMoneyNumber": "string",
                        "email": "string",
                        "address": "string"
                    },
                    "fromAddress": "string"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer/deposit"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "depositId": "string",
              "amount": 0,
              "scenario": "success",
              "counterparty": {
                "name": "string",
                "iban": "string",
                "accountNumber": "string",
                "routingNumber": "string",
                "clabe": "string",
                "taxId": "string",
                "pixKey": "string",
                "mobileMoneyNumber": "string",
                "email": "string",
                "address": "string"
              },
              "fromAddress": "string"
            }'
  /v1/simulate/incoming-transfer/order:
    post:
      summary: Simulate the inbound transfer that funds an order (stage only)
      description: >-
        Same as the deposit variant, but advances an order: the origin funds are
        treated as received, the conversion proceeds, and the payout continues
        its lifecycle. **Required:** `orderId` and `amount`. **Optional:**
        `scenario` (`success` default, `processing`, `compliance_review`,
        `failed`), `counterparty` for fiat, `fromAddress` for crypto.


        **Stage only** — not mounted on production.
      tags:
        - Simulation
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                orderId:
                  type: string
                  minLength: 1
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                scenario:
                  type: string
                  enum:
                    - success
                    - failed
                    - compliance_review
                    - processing
                  default: success
                counterparty:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                    iban:
                      type: string
                    accountNumber:
                      type: string
                    routingNumber:
                      type: string
                    clabe:
                      type: string
                    taxId:
                      type: string
                    pixKey:
                      type: string
                    mobileMoneyNumber:
                      type: string
                    email:
                      type: string
                      minLength: 1
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email address
                    address:
                      type: string
                  required:
                    - name
                  additionalProperties: false
                fromAddress:
                  type: string
                testScenario:
                  type: string
                  enum:
                    - RECEIVED_LESS_AMOUNT
                    - RECEIVED_MORE_AMOUNT
                    - EXCHANGE_SUCCESS
                    - EXCHANGE_ERROR
                    - EXCHANGE_HIGH_FEE
                    - WITHDRAW_SUCCESS
                    - WITHDRAW_ERROR
                    - WITHDRAW_HIGH_GAS
                    - OFFRAMP_SUCCESS
                    - OFFRAMP_ERROR
                    - OFFRAMP_HIGH_FEE
                    - RECEIVED_TO_EXCHANGE_ERROR
                    - EXCHANGED_TO_WITHDRAW_ERROR
                    - WITHDRAWN_TO_OFFRAMP_ERROR
                    - KYC_REQUIRED
                    - PRICE_CHANGED
                    - INSUFFICIENT_BALANCE
                    - OFFRAMP_VALIDATION_ERROR_NAME
                    - OFFRAMP_VALIDATION_ERROR_TAX_ID_REQUIRED
                    - OFFRAMP_VALIDATION_ERROR_TAX_ID_FORMAT
                    - OFFRAMP_VALIDATION_ERROR_AMOUNT
                    - OFFRAMP_VALIDATION_ERROR_BANK_CODE
                    - OFFRAMP_VALIDATION_ERROR_ACCOUNT_NUMBER
                    - OFFRAMP_VALIDATION_ERROR_PHONE_BANK_CODE
                    - OFFRAMP_VALIDATION_ERROR_PHONE_NUMBER
                  description: Test scenario values for testing different order flows
                  examples:
                    - RECEIVED_LESS_AMOUNT
                    - EXCHANGE_SUCCESS
                    - WITHDRAW_SUCCESS
                    - OFFRAMP_SUCCESS
              required:
                - orderId
                - amount
              additionalProperties: false
      responses:
        '200':
          description: Simulation accepted and dispatched
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                required:
                  - success
                additionalProperties: false
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: >-
            Not found — the referenced entity does not exist, or simulation is
            not enabled in this environment
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer/order",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "orderId": "string",
                  "amount": 0,
                  "scenario": "success",
                  "counterparty": {
                    "name": "string",
                    "iban": "string",
                    "accountNumber": "string",
                    "routingNumber": "string",
                    "clabe": "string",
                    "taxId": "string",
                    "pixKey": "string",
                    "mobileMoneyNumber": "string",
                    "email": "string",
                    "address": "string"
                  },
                  "fromAddress": "string",
                  "testScenario": "RECEIVED_LESS_AMOUNT"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer/order",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "orderId": "string",
                    "amount": 0,
                    "scenario": "success",
                    "counterparty": {
                        "name": "string",
                        "iban": "string",
                        "accountNumber": "string",
                        "routingNumber": "string",
                        "clabe": "string",
                        "taxId": "string",
                        "pixKey": "string",
                        "mobileMoneyNumber": "string",
                        "email": "string",
                        "address": "string"
                    },
                    "fromAddress": "string",
                    "testScenario": "RECEIVED_LESS_AMOUNT"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer/order"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "orderId": "string",
              "amount": 0,
              "scenario": "success",
              "counterparty": {
                "name": "string",
                "iban": "string",
                "accountNumber": "string",
                "routingNumber": "string",
                "clabe": "string",
                "taxId": "string",
                "pixKey": "string",
                "mobileMoneyNumber": "string",
                "email": "string",
                "address": "string"
              },
              "fromAddress": "string",
              "testScenario": "RECEIVED_LESS_AMOUNT"
            }'
  /v1/simulate/incoming-transfer/payin:
    post:
      summary: Simulate an unsolicited inbound fiat payin (stage only)
      description: >-
        Creates a brand-new inbound transfer that is not tied to an existing
        deposit or order — the shape of a real wire arriving unannounced, which
        then goes through matching. **Required:** `currency`, `amount` and
        `counterparty`. **Optional:** `reference` and `destination` (the
        receiving account to credit). Use it to exercise pending-payment
        matching and the linking flows.


        **Stage only** — not mounted on production.
      tags:
        - Simulation
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                currency:
                  type: string
                  minLength: 1
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                reference:
                  type: string
                  minLength: 1
                destination:
                  type: object
                  properties:
                    iban:
                      type: string
                      minLength: 1
                    accountNumber:
                      type: string
                      minLength: 1
                    clabe:
                      type: string
                      minLength: 1
                    pixKey:
                      type: string
                      minLength: 1
                    taxId:
                      type: string
                      minLength: 1
                    mobileMoneyNumber:
                      type: string
                      minLength: 1
                  additionalProperties: false
                counterparty:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                    iban:
                      type: string
                    accountNumber:
                      type: string
                    routingNumber:
                      type: string
                    clabe:
                      type: string
                    taxId:
                      type: string
                    pixKey:
                      type: string
                    mobileMoneyNumber:
                      type: string
                    email:
                      type: string
                      minLength: 1
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email address
                    address:
                      type: string
                  required:
                    - name
                  additionalProperties: false
              required:
                - currency
                - amount
                - counterparty
              additionalProperties: false
      responses:
        '200':
          description: Simulation accepted and dispatched
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                required:
                  - success
                additionalProperties: false
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: >-
            Not found — the referenced entity does not exist, or simulation is
            not enabled in this environment
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer/payin",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "currency": "string",
                  "amount": 0,
                  "reference": "string",
                  "destination": {
                    "iban": "string",
                    "accountNumber": "string",
                    "clabe": "string",
                    "pixKey": "string",
                    "taxId": "string",
                    "mobileMoneyNumber": "string"
                  },
                  "counterparty": {
                    "name": "string",
                    "iban": "string",
                    "accountNumber": "string",
                    "routingNumber": "string",
                    "clabe": "string",
                    "taxId": "string",
                    "pixKey": "string",
                    "mobileMoneyNumber": "string",
                    "email": "string",
                    "address": "string"
                  }
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer/payin",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "currency": "string",
                    "amount": 0,
                    "reference": "string",
                    "destination": {
                        "iban": "string",
                        "accountNumber": "string",
                        "clabe": "string",
                        "pixKey": "string",
                        "taxId": "string",
                        "mobileMoneyNumber": "string"
                    },
                    "counterparty": {
                        "name": "string",
                        "iban": "string",
                        "accountNumber": "string",
                        "routingNumber": "string",
                        "clabe": "string",
                        "taxId": "string",
                        "pixKey": "string",
                        "mobileMoneyNumber": "string",
                        "email": "string",
                        "address": "string"
                    }
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer/payin"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "currency": "string",
              "amount": 0,
              "reference": "string",
              "destination": {
                "iban": "string",
                "accountNumber": "string",
                "clabe": "string",
                "pixKey": "string",
                "taxId": "string",
                "mobileMoneyNumber": "string"
              },
              "counterparty": {
                "name": "string",
                "iban": "string",
                "accountNumber": "string",
                "routingNumber": "string",
                "clabe": "string",
                "taxId": "string",
                "pixKey": "string",
                "mobileMoneyNumber": "string",
                "email": "string",
                "address": "string"
              }
            }'
  /v1/simulate/incoming-transfer:
    post:
      summary: Simulate a standalone crypto inbound transfer (stage only)
      description: >-
        Simulates an on-chain deposit straight to a destination address, without
        an originating deposit or order. Crypto-only by definition.
        **Required:** `destinationAddress`, `currency` and `amount`.


        **Stage only** — not mounted on production.
      tags:
        - Simulation
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                destinationAddress:
                  type: string
                  minLength: 1
                network:
                  type: string
                  enum:
                    - MATIC
                    - ETH
                    - CELO
                    - TRON
                    - BTC
                    - SOLANA
                    - XRP
                    - CARDANO
                    - BSC
                    - ARBITRUM
                    - OPTIMISM
                    - AVALANCHE
                    - BASE
                currency:
                  type: string
                  enum:
                    - USDC
                    - USDT
                    - CUSD
                    - ETH
                    - BTC
                    - MATIC
                    - POL
                    - SOL
                    - DOGE
                    - ADA
                    - XRP
                    - AVAX
                    - DOT
                    - ALGO
                    - TRX
                    - BNB
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                fromAddress:
                  type: string
              required:
                - destinationAddress
                - network
                - currency
                - amount
              additionalProperties: false
      responses:
        '200':
          description: Simulation accepted and dispatched
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                required:
                  - success
                additionalProperties: false
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: >-
            Not found — the referenced entity does not exist, or simulation is
            not enabled in this environment
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "destinationAddress": "string",
                  "network": "MATIC",
                  "currency": "USDC",
                  "amount": 0,
                  "fromAddress": "string"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "destinationAddress": "string",
                    "network": "MATIC",
                    "currency": "USDC",
                    "amount": 0,
                    "fromAddress": "string"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api-stage.virtuabroker.com/v1/simulate/incoming-transfer" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "destinationAddress": "string",
              "network": "MATIC",
              "currency": "USDC",
              "amount": 0,
              "fromAddress": "string"
            }'
  /v1/mocks/simulate-compliance-transfer:
    post:
      summary: Simulate an incoming transfer held for compliance (integration testing)
      description: >-
        Creates an incoming transfer that lands **held in compliance
        screening**, so you can exercise your review, approval and
        source-of-funds handling without waiting for a real payment. The
        transfer is always created in **your own workspace**, taken from your
        credentials. **All fields optional:** `amount`, `currency`,
        `counterpartyName`, `counterpartyIban`, `reference`, `hoursAgo` (1–720,
        how far in the past to date the transfer). **Stage only** — this
        endpoint is not mounted on production.
      tags:
        - Mocks
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                currency:
                  type: string
                  minLength: 1
                counterpartyName:
                  type: string
                counterpartyIban:
                  type: string
                reference:
                  type: string
                hoursAgo:
                  type: integer
                  minimum: 1
                  maximum: 720
              additionalProperties: false
      responses:
        '200':
          description: Compliance-held transfer created
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      transferId:
                        type: string
                      workspaceId:
                        type: string
                      message:
                        type: string
                    required:
                      - transferId
                      - workspaceId
                      - message
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/mocks/simulate-compliance-transfer",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "amount": 0,
                  "currency": "string",
                  "counterpartyName": "string",
                  "counterpartyIban": "string",
                  "reference": "string",
                  "hoursAgo": 0
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api-stage.virtuabroker.com/v1/mocks/simulate-compliance-transfer",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "amount": 0,
                    "currency": "string",
                    "counterpartyName": "string",
                    "counterpartyIban": "string",
                    "reference": "string",
                    "hoursAgo": 0
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api-stage.virtuabroker.com/v1/mocks/simulate-compliance-transfer"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "amount": 0,
              "currency": "string",
              "counterpartyName": "string",
              "counterpartyIban": "string",
              "reference": "string",
              "hoursAgo": 0
            }'
  /v1/mocks/mock-kyc:
    post:
      summary: Mock approved KYC (integration testing)
      description: >-
        Applies a successful test KYC for a customer so you can validate flows
        without a full live verification. **Required:** `email` of the
        individual or pending customer. **Optional:** `firstName`, `lastName`,
        `country` (ISO 3166-1 alpha-2). **Stage only** — this endpoint is not
        mounted on production.
      tags:
        - Mocks
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  minLength: 1
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email address
                firstName:
                  type: string
                lastName:
                  type: string
                country:
                  type: string
                  minLength: 2
                  maxLength: 2
              required:
                - email
              additionalProperties: false
      responses:
        '200':
          description: Mock KYC applied
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      entityId:
                        type: string
                      customerId:
                        type: string
                    required:
                      - entityId
                      - customerId
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/mocks/mock-kyc", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "email": "string",
                  "firstName": "string",
                  "lastName": "string",
                  "country": "string"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api-stage.virtuabroker.com/v1/mocks/mock-kyc",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "email": "string",
                    "firstName": "string",
                    "lastName": "string",
                    "country": "string"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST "https://api-stage.virtuabroker.com/v1/mocks/mock-kyc"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "email": "string",
              "firstName": "string",
              "lastName": "string",
              "country": "string"
            }'
  /v1/mocks/mock-kyb:
    post:
      summary: Mock approved KYB for an organisation (integration testing)
      description: >-
        Applies a successful test KYB for an organisation so you can validate
        flows without a full live verification. **Required:** `email` of the
        organisation representative account. **Optional:**
        `countryOfIncorporation` (ISO 3166-1 alpha-2). **Stage only** — this
        endpoint is not mounted on production.
      tags:
        - Mocks
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  minLength: 1
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email address
                countryOfIncorporation:
                  type: string
                  minLength: 2
                  maxLength: 2
              required:
                - email
              additionalProperties: false
      responses:
        '200':
          description: Mock KYB applied
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      entityId:
                        type: string
                      organisationId:
                        type: string
                    required:
                      - entityId
                      - organisationId
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/mocks/mock-kyb", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "email": "string",
                  "countryOfIncorporation": "string"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api-stage.virtuabroker.com/v1/mocks/mock-kyb",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "email": "string",
                    "countryOfIncorporation": "string"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST "https://api-stage.virtuabroker.com/v1/mocks/mock-kyb"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "email": "string",
              "countryOfIncorporation": "string"
            }'
  /v1/mocks/payout-rail/status:
    get:
      summary: >-
        Read whether the simulated payout rail is active (development and test
        only)
      description: >-
        Reports whether outbound bank payouts are being served by the built-in
        simulated payout rail instead of the real one. When `active` is false,
        `reason` says why: `flag_unset` (the simulation was not requested) or
        `environment_forbidden` (requested in an environment where it can never
        run). The simulated rail exists only for development and test
        environments; staging, pre-production and production always report
        `active: false`.


        **Development and test only** — never active on production.
      tags:
        - Mocks
      security:
        - oauth2: []
      responses:
        '200':
          description: Current state of the simulated payout rail
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      active:
                        type: boolean
                        description: >-
                          Whether outbound bank payouts are being served by the
                          simulated payout rail
                      reason:
                        type: string
                        enum:
                          - flag_unset
                          - environment_forbidden
                        description: >-
                          Why the simulated rail is not active: `flag_unset`
                          (not requested) or `environment_forbidden` (requested
                          where it can never run)
                    required:
                      - active
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/mocks/payout-rail/status",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api-stage.virtuabroker.com/v1/mocks/payout-rail/status",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api-stage.virtuabroker.com/v1/mocks/payout-rail/status" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/mocks/payout-rail/name-verification:
    put:
      summary: >-
        Configure the beneficiary-name check outcome of the simulated payout
        rail (development and test only)
      description: >-
        Sets the outcome the simulated payout rail returns when a payout runs
        its beneficiary-name check. With `accountIdentifier` (IBAN or account
        number) the outcome applies to that beneficiary only; without it, it
        becomes the default for every beneficiary that has no specific outcome.
        `MATCH` lets the payout proceed, `CLOSE_MATCH` and `NO_MATCH` hold it
        for review, and `PROVIDER_ERROR` makes the check unavailable. The same
        configuration always yields the same result.


        **Development and test only** — never active on production.
      tags:
        - Mocks
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                accountIdentifier:
                  type: string
                  minLength: 1
                  description: >-
                    IBAN or account number of the beneficiary the outcome
                    applies to. Omit to set the default outcome for every
                    beneficiary without a specific one.
                result:
                  type: string
                  enum:
                    - MATCH
                    - CLOSE_MATCH
                    - NO_MATCH
                    - PROVIDER_ERROR
                  description: >-
                    Outcome the simulated rail returns: `MATCH` clears the
                    payout, `CLOSE_MATCH` and `NO_MATCH` hold it for review,
                    `PROVIDER_ERROR` makes the check unavailable
              required:
                - result
              additionalProperties: false
      responses:
        '200':
          description: Outcome stored
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      scenarioId:
                        type: string
                        description: Identifier of the stored outcome
                      accountIdentifier:
                        type: string
                        nullable: true
                        description: >-
                          Normalised beneficiary identifier the outcome applies
                          to; `null` for the default outcome
                      result:
                        type: string
                        enum:
                          - MATCH
                          - CLOSE_MATCH
                          - NO_MATCH
                          - PROVIDER_ERROR
                        description: Outcome now in force
                    required:
                      - scenarioId
                      - accountIdentifier
                      - result
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            Conflict — the simulated payout rail is not active in this
            environment, or the payout is already in a terminal status
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/mocks/payout-rail/name-verification",
            {
                method: "PUT",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "accountIdentifier": "string",
                  "result": "MATCH"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.put(
                "https://api-stage.virtuabroker.com/v1/mocks/payout-rail/name-verification",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "accountIdentifier": "string",
                    "result": "MATCH"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X PUT
            "https://api-stage.virtuabroker.com/v1/mocks/payout-rail/name-verification"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "accountIdentifier": "string",
              "result": "MATCH"
            }'
  /v1/mocks/payout-rail/payments/{paymentId}/notice:
    post:
      summary: >-
        Emit a payout status notice from the simulated payout rail (development
        and test only)
      description: >-
        Moves a payout instructed on the simulated payout rail to `status` and
        emits the status notice through the same inbound path a real notice
        takes, so the order advances exactly as it would in production
        (`COMPLETED` pays it out, `FAILED`, `REJECTED` and `RETURNED` fail it,
        the review and processing statuses keep it in progress). A payout
        already in a terminal status cannot be moved to a different one;
        repeating its current status re-emits the same notice, which the
        platform processes once.


        **Development and test only** — never active on production.
      tags:
        - Mocks
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Payout identifier returned when the payout was instructed
          required: true
          description: Payout identifier returned when the payout was instructed
          name: paymentId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - CREATED
                    - COMPLIANCE_REVIEW
                    - MEMBER_REVIEW
                    - PROCESSING
                    - COMPLETED
                    - RETURNED
                    - REJECTED
                    - FAILED
                  description: >-
                    Payout status the notice announces. A terminal status cannot
                    be changed afterwards; repeating the current status re-emits
                    the same notice.
              required:
                - status
              additionalProperties: false
      responses:
        '200':
          description: Notice emitted
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      paymentId:
                        type: string
                        description: Payout identifier
                      previousStatus:
                        type: string
                        enum:
                          - CREATED
                          - COMPLIANCE_REVIEW
                          - MEMBER_REVIEW
                          - PROCESSING
                          - COMPLETED
                          - RETURNED
                          - REJECTED
                          - FAILED
                        description: Status before the notice
                      status:
                        type: string
                        enum:
                          - CREATED
                          - COMPLIANCE_REVIEW
                          - MEMBER_REVIEW
                          - PROCESSING
                          - COMPLETED
                          - RETURNED
                          - REJECTED
                          - FAILED
                        description: Status after the notice
                      eventId:
                        type: string
                        description: Deterministic identifier of the emitted notice
                      webhookId:
                        type: string
                        description: Identifier of the stored inbound notice
                    required:
                      - paymentId
                      - previousStatus
                      - status
                      - eventId
                      - webhookId
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: >-
            Not found — no payout with that identifier was instructed on the
            simulated rail
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            Conflict — the simulated payout rail is not active in this
            environment, or the payout is already in a terminal status
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api-stage.virtuabroker.com/v1/mocks/payout-rail/payments/YOUR_PAYMENTID/notice",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "status": "CREATED"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api-stage.virtuabroker.com/v1/mocks/payout-rail/payments/YOUR_PAYMENTID/notice",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "status": "CREATED"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api-stage.virtuabroker.com/v1/mocks/payout-rail/payments/YOUR_PAYMENTID/notice"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "status": "CREATED"
            }'
  /v1/webhook:
    get:
      summary: Get webhook configuration
      description: >-
        Returns your registered webhook callback **URL** plus **createdAt** and
        **updatedAt** timestamps for that configuration.


        **Incoming events:** your server should accept POST bodies matching the
        `WebhookRequest` schema (see **Webhooks** → incoming events). For
        identity verification, handle **`verification_status_updated`** first;
        treat **`kyc_completed`** as deprecated but it may still be sent for
        backward compatibility.
      tags:
        - Webhooks
      security:
        - oauth2: []
      responses:
        '200':
          description: Successful retrieval of webhook configuration
          content:
            application/json:
              schema:
                type: object
                properties:
                  url:
                    type: string
                    nullable: true
                    format: uri
                    description: Webhook URL for the client
                  updatedAt:
                    type: number
                    description: Timestamp when the webhook URL was last updated
                  createdAt:
                    type: number
                    description: Timestamp when the webhook configuration was first created
                required:
                  - url
                  - updatedAt
                  - createdAt
                description: Current webhook configuration for the client
                example:
                  url: https://api.example.com/webhooks/virtuabroker
                  updatedAt: 1704067200000
                  createdAt: 1704067200000
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: |-
            const res = await fetch("https://api.virtuabroker.com/v1/webhook", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/webhook",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/webhook" \
              -H "Authorization: Bearer $VB_TOKEN"
    put:
      summary: Update webhook configuration
      description: >-
        Updates your webhook **callback URL** for this integration.
        **Integration tip:** implement a handler for the `WebhookRequest` shape;
        for KYC/KYB prefer **`verification_status_updated`**. Treat
        **`kyc_completed`** as legacy (see `WebhookEventType` and
        `WebhookRequest` in schemas).
      tags:
        - Webhooks
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  format: uri
                  description: New webhook URL for the client
                  example: https://api.example.com/webhooks/virtuabroker
                apiKey:
                  type: string
                  description: >-
                    Optional API key echoed back on every outgoing webhook so
                    you can authenticate incoming requests on your endpoint.
                    Omit to keep the currently stored value.
                  example: whk_live_xxx
              required:
                - url
      responses:
        '200':
          description: Successful webhook configuration update
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the webhook configuration was updated successfully
                  url:
                    type: string
                    format: uri
                    description: The updated webhook URL
                  updatedAt:
                    type: number
                    description: Timestamp when the webhook URL was updated
                required:
                  - success
                  - url
                  - updatedAt
                description: Response after updating webhook configuration
                example:
                  success: true
                  url: https://api.example.com/webhooks/virtuabroker
                  updatedAt: 1704067200000
        '400':
          description: Bad request - Invalid URL format
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: |-
            const res = await fetch("https://api.virtuabroker.com/v1/webhook", {
                method: "PUT",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "url": "https://api.example.com/webhooks/virtuabroker",
                  "apiKey": "whk_live_xxx"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.put(
                "https://api.virtuabroker.com/v1/webhook",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "url": "https://api.example.com/webhooks/virtuabroker",
                    "apiKey": "whk_live_xxx"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X PUT "https://api.virtuabroker.com/v1/webhook" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "url": "https://api.example.com/webhooks/virtuabroker",
              "apiKey": "whk_live_xxx"
            }'
  /v1/conversations:
    post:
      summary: Open a conversation
      description: >-
        Opens a b2c support conversation for one of your end-users (identified
        by `endUserEmail`) with their first message. An end-user account is
        provisioned automatically on first use.
      tags:
        - Conversations
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                endUserEmail:
                  type: string
                  minLength: 1
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: >-
                    Email of the end-user this conversation belongs to. An
                    account is provisioned on first use if none exists.
                text:
                  type: string
                  minLength: 1
                  maxLength: 5000
                  description: The opening message. See `authoredBy` for who it is from.
                authoredBy:
                  type: string
                  enum:
                    - end_user
                    - operator
                  default: end_user
                  description: >-
                    Who writes the opening message. `end_user` (default) is the
                    customer opening a support thread — the thread then waits on
                    you. `operator` is you reaching out first: the thread waits
                    on the customer, the unread sits on their side, and no
                    `conversation_created` webhook is emitted (you already know
                    — you sent it).
                subject:
                  type: string
                  minLength: 1
                  maxLength: 200
                  description: Thread subject
                topic:
                  type: string
                  minLength: 1
                  maxLength: 200
                  description: Free-text triage topic
                priority:
                  type: string
                  enum:
                    - low
                    - normal
                    - high
                  description: Triage priority
                relatedOrderId:
                  type: string
                  minLength: 1
                  description: An order id to associate with the thread
              required:
                - endUserEmail
                - text
              additionalProperties: false
              example:
                endUserEmail: jane@example.com
                text: My payout has not arrived yet
                subject: Payout delay
                priority: normal
      responses:
        '200':
          description: Conversation opened
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      conversation:
                        type: object
                        properties:
                          conversationId:
                            type: string
                            description: Conversation id
                          status:
                            type: string
                            enum:
                              - open
                              - pending_admin
                              - pending_account
                              - closed
                            description: Thread status
                          subject:
                            type: string
                            description: Thread subject
                          topic:
                            type: string
                            description: Triage topic
                          priority:
                            type: string
                            enum:
                              - low
                              - normal
                              - high
                            description: Triage priority
                          lastMessagePreview:
                            type: string
                            description: >-
                              PII-safe preview of the last end-user-visible
                              message
                          lastMessageAt:
                            type: number
                            description: Epoch-ms of the last message
                          lastMessageBy:
                            type: string
                            enum:
                              - account
                              - support
                              - system
                            description: Who sent the last message
                          unreadCount:
                            type: integer
                            minimum: 0
                            description: Messages from the end-user awaiting your response
                          relatedOrderIds:
                            type: array
                            items:
                              type: string
                            description: Order ids associated with the thread
                          createdAt:
                            type: number
                            description: Epoch-ms created
                          updatedAt:
                            type: number
                            description: Epoch-ms last updated
                        required:
                          - conversationId
                          - status
                          - lastMessagePreview
                          - lastMessageAt
                          - lastMessageBy
                          - unreadCount
                          - relatedOrderIds
                          - createdAt
                          - updatedAt
                        example:
                          conversationId: 2f1c0e9a-9b3e-4d7a-8c2b-1a2b3c4d5e6f
                          status: pending_account
                          subject: Payout delay
                          priority: normal
                          lastMessagePreview: We are looking into your payout now.
                          lastMessageAt: 1751200000000
                          lastMessageBy: support
                          unreadCount: 0
                          relatedOrderIds: []
                          createdAt: 1751190000000
                          updatedAt: 1751200000000
                      message:
                        type: object
                        properties:
                          messageId:
                            type: string
                            description: Message id
                          conversationId:
                            type: string
                            description: Conversation id
                          sender:
                            type: string
                            enum:
                              - account
                              - support
                              - system
                            description: >-
                              Who sent the message: `account` = the end-user,
                              `support` = your support agent or VirtuaBroker,
                              `system` = automated.
                          text:
                            type: string
                            description: Message body
                          internal:
                            type: boolean
                            description: >-
                              True for an internal support note. You MUST NOT
                              display an internal message to the end-user —
                              request audience=end_user for the end-user-facing
                              pipe.
                          relatedOrderId:
                            type: string
                            description: Associated order id
                          attachments:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  minLength: 1
                                  description: Attachment MIME/type label
                                url:
                                  type: string
                                  format: uri
                                  description: HTTPS URL of the attachment
                                name:
                                  type: string
                                  description: Original file name
                                size:
                                  type: number
                                  minimum: 0
                                  description: Size in bytes
                              required:
                                - type
                                - url
                            description: Attachments
                          createdAt:
                            type: number
                            description: Epoch-ms created
                          editedAt:
                            type: number
                            description: Epoch-ms last edited
                        required:
                          - messageId
                          - conversationId
                          - sender
                          - text
                          - internal
                          - createdAt
                        example:
                          messageId: 9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
                          conversationId: 2f1c0e9a-9b3e-4d7a-8c2b-1a2b3c4d5e6f
                          sender: account
                          text: My payout has not arrived yet
                          internal: false
                          createdAt: 1751190000000
                    required:
                      - conversation
                      - message
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/conversations", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "endUserEmail": "jane@example.com",
                  "text": "My payout has not arrived yet",
                  "subject": "Payout delay",
                  "priority": "normal"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/conversations",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "endUserEmail": "jane@example.com",
                    "text": "My payout has not arrived yet",
                    "subject": "Payout delay",
                    "priority": "normal"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/conversations" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "endUserEmail": "jane@example.com",
              "text": "My payout has not arrived yet",
              "subject": "Payout delay",
              "priority": "normal"
            }'
    get:
      summary: List end-user conversations
      description: >-
        Returns the b2c conversations belonging to one of your end-users (by
        `endUserEmail`).
      tags:
        - Conversations
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 254
            format: email
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: Email of the end-user whose conversations to list
          required: true
          description: Email of the end-user whose conversations to list
          name: endUserEmail
          in: query
      responses:
        '200':
          description: Successful retrieval of conversations
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      conversations:
                        type: array
                        items:
                          type: object
                          properties:
                            conversationId:
                              type: string
                              description: Conversation id
                            status:
                              type: string
                              enum:
                                - open
                                - pending_admin
                                - pending_account
                                - closed
                              description: Thread status
                            subject:
                              type: string
                              description: Thread subject
                            topic:
                              type: string
                              description: Triage topic
                            priority:
                              type: string
                              enum:
                                - low
                                - normal
                                - high
                              description: Triage priority
                            lastMessagePreview:
                              type: string
                              description: >-
                                PII-safe preview of the last end-user-visible
                                message
                            lastMessageAt:
                              type: number
                              description: Epoch-ms of the last message
                            lastMessageBy:
                              type: string
                              enum:
                                - account
                                - support
                                - system
                              description: Who sent the last message
                            unreadCount:
                              type: integer
                              minimum: 0
                              description: >-
                                Messages from the end-user awaiting your
                                response
                            relatedOrderIds:
                              type: array
                              items:
                                type: string
                              description: Order ids associated with the thread
                            createdAt:
                              type: number
                              description: Epoch-ms created
                            updatedAt:
                              type: number
                              description: Epoch-ms last updated
                          required:
                            - conversationId
                            - status
                            - lastMessagePreview
                            - lastMessageAt
                            - lastMessageBy
                            - unreadCount
                            - relatedOrderIds
                            - createdAt
                            - updatedAt
                          example:
                            conversationId: 2f1c0e9a-9b3e-4d7a-8c2b-1a2b3c4d5e6f
                            status: pending_account
                            subject: Payout delay
                            priority: normal
                            lastMessagePreview: We are looking into your payout now.
                            lastMessageAt: 1751200000000
                            lastMessageBy: support
                            unreadCount: 0
                            relatedOrderIds: []
                            createdAt: 1751190000000
                            updatedAt: 1751200000000
                    required:
                      - conversations
                required:
                  - ok
                  - value
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/conversations", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/conversations",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/conversations" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/conversations/{conversationId}:
    get:
      summary: Get a conversation
      description: >-
        Returns one b2c conversation belonging to one of your end-users.
        `endUserEmail` is required: a conversation is addressed by end-user
        **and** id, so an id on its own never resolves a thread.
      tags:
        - Conversations
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Conversation id
          required: true
          description: Conversation id
          name: conversationId
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 254
            format: email
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: Email of the end-user this conversation belongs to
          required: true
          description: Email of the end-user this conversation belongs to
          name: endUserEmail
          in: query
      responses:
        '200':
          description: Successful retrieval of the conversation
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      conversation:
                        type: object
                        properties:
                          conversationId:
                            type: string
                            description: Conversation id
                          status:
                            type: string
                            enum:
                              - open
                              - pending_admin
                              - pending_account
                              - closed
                            description: Thread status
                          subject:
                            type: string
                            description: Thread subject
                          topic:
                            type: string
                            description: Triage topic
                          priority:
                            type: string
                            enum:
                              - low
                              - normal
                              - high
                            description: Triage priority
                          lastMessagePreview:
                            type: string
                            description: >-
                              PII-safe preview of the last end-user-visible
                              message
                          lastMessageAt:
                            type: number
                            description: Epoch-ms of the last message
                          lastMessageBy:
                            type: string
                            enum:
                              - account
                              - support
                              - system
                            description: Who sent the last message
                          unreadCount:
                            type: integer
                            minimum: 0
                            description: Messages from the end-user awaiting your response
                          relatedOrderIds:
                            type: array
                            items:
                              type: string
                            description: Order ids associated with the thread
                          createdAt:
                            type: number
                            description: Epoch-ms created
                          updatedAt:
                            type: number
                            description: Epoch-ms last updated
                        required:
                          - conversationId
                          - status
                          - lastMessagePreview
                          - lastMessageAt
                          - lastMessageBy
                          - unreadCount
                          - relatedOrderIds
                          - createdAt
                          - updatedAt
                        example:
                          conversationId: 2f1c0e9a-9b3e-4d7a-8c2b-1a2b3c4d5e6f
                          status: pending_account
                          subject: Payout delay
                          priority: normal
                          lastMessagePreview: We are looking into your payout now.
                          lastMessageAt: 1751200000000
                          lastMessageBy: support
                          unreadCount: 0
                          relatedOrderIds: []
                          createdAt: 1751190000000
                          updatedAt: 1751200000000
                    required:
                      - conversation
                required:
                  - ok
                  - value
        '404':
          description: Conversation not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/conversations/{conversationId}/messages:
    get:
      summary: List conversation messages
      description: >-
        Returns messages for a conversation (oldest first), paginated with
        `limit` and the `before` epoch-ms cursor. Each message carries an
        `internal` flag — an internal support note that you **MUST NOT** show
        the end-user. For the end-user-facing screen request `audience=end_user`
        (returns ONLY client-visible messages); the default `audience=all`
        returns the full operator view.
      tags:
        - Conversations
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Conversation id
          required: true
          description: Conversation id
          name: conversationId
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 254
            format: email
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: Email of the end-user this conversation belongs to
          required: true
          description: Email of the end-user this conversation belongs to
          name: endUserEmail
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            description: Max messages to return (default 30)
          required: false
          description: Max messages to return (default 30)
          name: limit
          in: query
        - schema:
            type: integer
            nullable: true
            description: Return messages created strictly before this epoch-ms cursor
          required: false
          description: Return messages created strictly before this epoch-ms cursor
          name: before
          in: query
        - schema:
            type: string
            enum:
              - all
              - end_user
            description: >-
              `end_user` = only messages safe to show the end-user; `all`
              (default) = full operator view with the `internal` marker.
          required: false
          description: >-
            `end_user` = only messages safe to show the end-user; `all`
            (default) = full operator view with the `internal` marker.
          name: audience
          in: query
      responses:
        '200':
          description: Successful retrieval of messages
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      messages:
                        type: array
                        items:
                          type: object
                          properties:
                            messageId:
                              type: string
                              description: Message id
                            conversationId:
                              type: string
                              description: Conversation id
                            sender:
                              type: string
                              enum:
                                - account
                                - support
                                - system
                              description: >-
                                Who sent the message: `account` = the end-user,
                                `support` = your support agent or VirtuaBroker,
                                `system` = automated.
                            text:
                              type: string
                              description: Message body
                            internal:
                              type: boolean
                              description: >-
                                True for an internal support note. You MUST NOT
                                display an internal message to the end-user —
                                request audience=end_user for the
                                end-user-facing pipe.
                            relatedOrderId:
                              type: string
                              description: Associated order id
                            attachments:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    minLength: 1
                                    description: Attachment MIME/type label
                                  url:
                                    type: string
                                    format: uri
                                    description: HTTPS URL of the attachment
                                  name:
                                    type: string
                                    description: Original file name
                                  size:
                                    type: number
                                    minimum: 0
                                    description: Size in bytes
                                required:
                                  - type
                                  - url
                              description: Attachments
                            createdAt:
                              type: number
                              description: Epoch-ms created
                            editedAt:
                              type: number
                              description: Epoch-ms last edited
                          required:
                            - messageId
                            - conversationId
                            - sender
                            - text
                            - internal
                            - createdAt
                          example:
                            messageId: 9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
                            conversationId: 2f1c0e9a-9b3e-4d7a-8c2b-1a2b3c4d5e6f
                            sender: account
                            text: My payout has not arrived yet
                            internal: false
                            createdAt: 1751190000000
                    required:
                      - messages
                required:
                  - ok
                  - value
        '404':
          description: Conversation not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID/messages",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID/messages",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID/messages"
            \
              -H "Authorization: Bearer $VB_TOKEN"
    post:
      summary: Send a conversation message
      description: >-
        Posts a support reply to a conversation. Set `internal: true` to add a
        private support note the end-user never sees.
      tags:
        - Conversations
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Conversation id
          required: true
          description: Conversation id
          name: conversationId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                endUserEmail:
                  type: string
                  minLength: 1
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: Email of the end-user this conversation belongs to
                text:
                  type: string
                  minLength: 1
                  maxLength: 5000
                  description: Message body
                relatedOrderId:
                  type: string
                  minLength: 1
                  description: An order id to associate with the message
                attachments:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        minLength: 1
                        description: Attachment MIME/type label
                      url:
                        type: string
                        format: uri
                        description: HTTPS URL of the attachment
                      name:
                        type: string
                        description: Original file name
                      size:
                        type: number
                        minimum: 0
                        description: Size in bytes
                    required:
                      - type
                      - url
                  maxItems: 10
                  description: Up to 10 attachments
                internal:
                  type: boolean
                  description: >-
                    When true, the message is an internal support note hidden
                    from the end-user.
              required:
                - endUserEmail
                - text
              additionalProperties: false
              example:
                endUserEmail: jane@example.com
                text: We are looking into your payout now.
      responses:
        '200':
          description: Message sent
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      conversation:
                        type: object
                        properties:
                          conversationId:
                            type: string
                            description: Conversation id
                          status:
                            type: string
                            enum:
                              - open
                              - pending_admin
                              - pending_account
                              - closed
                            description: Thread status
                          subject:
                            type: string
                            description: Thread subject
                          topic:
                            type: string
                            description: Triage topic
                          priority:
                            type: string
                            enum:
                              - low
                              - normal
                              - high
                            description: Triage priority
                          lastMessagePreview:
                            type: string
                            description: >-
                              PII-safe preview of the last end-user-visible
                              message
                          lastMessageAt:
                            type: number
                            description: Epoch-ms of the last message
                          lastMessageBy:
                            type: string
                            enum:
                              - account
                              - support
                              - system
                            description: Who sent the last message
                          unreadCount:
                            type: integer
                            minimum: 0
                            description: Messages from the end-user awaiting your response
                          relatedOrderIds:
                            type: array
                            items:
                              type: string
                            description: Order ids associated with the thread
                          createdAt:
                            type: number
                            description: Epoch-ms created
                          updatedAt:
                            type: number
                            description: Epoch-ms last updated
                        required:
                          - conversationId
                          - status
                          - lastMessagePreview
                          - lastMessageAt
                          - lastMessageBy
                          - unreadCount
                          - relatedOrderIds
                          - createdAt
                          - updatedAt
                        example:
                          conversationId: 2f1c0e9a-9b3e-4d7a-8c2b-1a2b3c4d5e6f
                          status: pending_account
                          subject: Payout delay
                          priority: normal
                          lastMessagePreview: We are looking into your payout now.
                          lastMessageAt: 1751200000000
                          lastMessageBy: support
                          unreadCount: 0
                          relatedOrderIds: []
                          createdAt: 1751190000000
                          updatedAt: 1751200000000
                      message:
                        type: object
                        properties:
                          messageId:
                            type: string
                            description: Message id
                          conversationId:
                            type: string
                            description: Conversation id
                          sender:
                            type: string
                            enum:
                              - account
                              - support
                              - system
                            description: >-
                              Who sent the message: `account` = the end-user,
                              `support` = your support agent or VirtuaBroker,
                              `system` = automated.
                          text:
                            type: string
                            description: Message body
                          internal:
                            type: boolean
                            description: >-
                              True for an internal support note. You MUST NOT
                              display an internal message to the end-user —
                              request audience=end_user for the end-user-facing
                              pipe.
                          relatedOrderId:
                            type: string
                            description: Associated order id
                          attachments:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  minLength: 1
                                  description: Attachment MIME/type label
                                url:
                                  type: string
                                  format: uri
                                  description: HTTPS URL of the attachment
                                name:
                                  type: string
                                  description: Original file name
                                size:
                                  type: number
                                  minimum: 0
                                  description: Size in bytes
                              required:
                                - type
                                - url
                            description: Attachments
                          createdAt:
                            type: number
                            description: Epoch-ms created
                          editedAt:
                            type: number
                            description: Epoch-ms last edited
                        required:
                          - messageId
                          - conversationId
                          - sender
                          - text
                          - internal
                          - createdAt
                        example:
                          messageId: 9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
                          conversationId: 2f1c0e9a-9b3e-4d7a-8c2b-1a2b3c4d5e6f
                          sender: account
                          text: My payout has not arrived yet
                          internal: false
                          createdAt: 1751190000000
                    required:
                      - conversation
                      - message
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Conversation not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID/messages",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "endUserEmail": "jane@example.com",
                  "text": "We are looking into your payout now."
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID/messages",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "endUserEmail": "jane@example.com",
                    "text": "We are looking into your payout now."
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID/messages"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "endUserEmail": "jane@example.com",
              "text": "We are looking into your payout now."
            }'
  /v1/conversations/{conversationId}/stream:
    get:
      summary: Stream conversation messages (SSE)
      description: >-
        Server-Sent Events stream of new messages for a conversation. Send
        `endUserEmail` as a query param; resume after a disconnect with the
        `Last-Event-ID` header (the last message epoch-ms). Each `message` event
        carries a conversation message with an `internal` flag — never show an
        internal note to the end-user. Use `audience=end_user` to stream ONLY
        client-visible messages for the end-user pipe; the default
        `audience=all` streams the full operator view.
      tags:
        - Conversations
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Conversation id
          required: true
          description: Conversation id
          name: conversationId
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 254
            format: email
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: Email of the end-user this conversation belongs to
          required: true
          description: Email of the end-user this conversation belongs to
          name: endUserEmail
          in: query
        - schema:
            type: string
            enum:
              - all
              - end_user
            description: >-
              `end_user` = only messages safe to show the end-user; `all`
              (default) = full operator view with the `internal` marker.
          required: false
          description: >-
            `end_user` = only messages safe to show the end-user; `all`
            (default) = full operator view with the `internal` marker.
          name: audience
          in: query
        - schema:
            type: string
            description: >-
              Resume cursor — the epoch-ms id of the last message the client
              received. Omit to start from now.
          required: false
          description: >-
            Resume cursor — the epoch-ms id of the last message the client
            received. Omit to start from now.
          name: Last-Event-ID
          in: header
      responses:
        '200':
          description: text/event-stream of conversation message events
        '404':
          description: Conversation not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID/stream",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID/stream",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/conversations/YOUR_CONVERSATIONID/stream"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/conversations/widget-session:
    post:
      summary: Mint a widget session
      description: >-
        Mints a short-lived, browser-safe credential scoped to one end-user.
        Hand ONLY the returned `session` to your embedded chat widget — it
        carries no secret. The widget uses it to read, send, and stream that
        end-user’s messages.
      tags:
        - Conversations
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                endUserEmail:
                  type: string
                  minLength: 1
                  maxLength: 254
                  format: email
                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                  description: >-
                    Email of the end-user the widget session is scoped to. An
                    account is provisioned on first use.
              required:
                - endUserEmail
              additionalProperties: false
              example:
                endUserEmail: jane@example.com
      responses:
        '200':
          description: Session minted
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      session:
                        type: string
                        description: >-
                          Opaque, short-lived credential scoped to one end-user.
                          Hand ONLY this to the browser widget; it carries no
                          secret. Pass it back as the `session` query param on
                          widget calls.
                      expiresAt:
                        type: number
                        description: Session expiry (epoch ms)
                    required:
                      - session
                      - expiresAt
                    example:
                      session: eyJraW5kIjoiY29udmVyc2F0aW9uX3dpZGdldCIs....4b1c…
                      expiresAt: 1751207200000
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/conversations/widget-session",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "endUserEmail": "jane@example.com"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/conversations/widget-session",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "endUserEmail": "jane@example.com"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/conversations/widget-session" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "endUserEmail": "jane@example.com"
            }'
  /v1/pending-payments:
    get:
      summary: List pending payments
      description: >-
        Returns incoming transfers that have not yet been linked to an order or
        deposit. Use filters to locate specific transfers by counterparty name,
        reference, IBAN, or amount.
      tags:
        - Pending Payments
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Optional currency code to filter the items
            example: EUR
          required: false
          description: Optional currency code to filter the items
          name: currency
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: minAmount
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: maxAmount
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: from
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: to
          in: query
        - schema:
            type: string
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: >-
              Email of the user making the request. For a business payer this
              matches operations under any of its identities — the
              representative email and the organisation account — so listings
              stay complete across both.
            example: user@example.com
          required: false
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          name: userEmail
          in: query
        - schema:
            type: string
            description: >-
              General search (e.g. email or text). When provided, backend may
              use it for userEmail or text search.
          required: false
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
          name: search
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: limit
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: page
          in: query
        - schema:
            type: string
            description: Filter by counterparty name (case-insensitive partial match)
            example: John Doe
          required: false
          description: Filter by counterparty name (case-insensitive partial match)
          name: name
          in: query
        - schema:
            type: string
            description: Filter by reference or ID (partial match)
            example: REF123
          required: false
          description: Filter by reference or ID (partial match)
          name: reference
          in: query
        - schema:
            type: string
            description: Filter by IBAN (case-insensitive partial match)
            example: ES9121000418450200051332
          required: false
          description: Filter by IBAN (case-insensitive partial match)
          name: iban
          in: query
        - schema:
            type: string
            description: Filter by IBAN country code (e.g., ES, DE)
            example: ES
          required: false
          description: Filter by IBAN country code (e.g., ES, DE)
          name: ibanCountry
          in: query
        - schema:
            type: number
            minimum: 0
            exclusiveMinimum: true
            description: Filter by exact amount
            example: 1000
          required: false
          description: Filter by exact amount
          name: amount
          in: query
        - schema:
            anyOf:
              - type: boolean
              - type: string
            description: >-
              If true, only unlinked transfers with readyToLinkAt set (queue
              ready for linking).
          required: false
          description: >-
            If true, only unlinked transfers with readyToLinkAt set (queue ready
            for linking).
          name: readyToLinkOnly
          in: query
        - schema:
            type: string
            enum:
              - compliance
              - source_of_funds
              - prelink
              - screening
              - monitoring
              - normal
              - ''
            description: >-
              Filter by transfer type: screening (identity hold), monitoring
              (fiat/crypto), source_of_funds, normal (no compliance hold),
              prelink, or compliance (screening+monitoring combined).
          required: false
          description: >-
            Filter by transfer type: screening (identity hold), monitoring
            (fiat/crypto), source_of_funds, normal (no compliance hold),
            prelink, or compliance (screening+monitoring combined).
          name: typeFilter
          in: query
        - schema:
            type: string
            description: >-
              Optional account id (email) within the calling workspace. When
              provided, the proposedByMe / sofUploadedByMe /
              screening.submittedByMe flags are computed relative to that
              account. Ignored on the authenticated app API, which uses the
              signed-in account.
            example: ops@example.com
          required: false
          description: >-
            Optional account id (email) within the calling workspace. When
            provided, the proposedByMe / sofUploadedByMe /
            screening.submittedByMe flags are computed relative to that account.
            Ignored on the authenticated app API, which uses the signed-in
            account.
          name: accountId
          in: query
      responses:
        '200':
          description: Successful retrieval of pending payments
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      transfers:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: >-
                                Transfer identifier — use this to call /link,
                                /create-deposit, or /create-order
                            amount:
                              type: number
                              description: Amount received
                            currency:
                              type: string
                              description: Currency (ISO 4217, e.g. EUR)
                            date:
                              type: string
                              description: Date the payment was received (ISO 8601)
                            timestamp:
                              type: number
                              description: >-
                                Transfer date as epoch milliseconds — use this
                                for sorting/display; the `date` string is
                                locale-formatted and must not be re-parsed
                            reference:
                              type: string
                              nullable: true
                              description: Payment reference text provided by the sender
                            counterparty:
                              type: object
                              properties:
                                name:
                                  type: string
                                  description: Sender name
                                iban:
                                  type: string
                                  description: Sender IBAN
                              description: Basic sender information
                            complianceHoldReason:
                              type: string
                              nullable: true
                              enum:
                                - source_of_funds
                                - screening
                                - fiat_monitoring
                                - crypto_monitoring
                            complianceDocuments:
                              type: array
                              items:
                                type: object
                                properties:
                                  path:
                                    type: string
                                  fileName:
                                    type: string
                                  uploadedBy:
                                    type: string
                                  uploadedByKind:
                                    type: string
                                    enum:
                                      - operator
                                      - workspace
                                  uploadedAt:
                                    type: number
                                  comment:
                                    type: string
                                required:
                                  - path
                            paymentMethod:
                              type: object
                              nullable: true
                              properties:
                                amountLimit:
                                  type: number
                                amountLimitCurrency:
                                  type: string
                                amountProcessed:
                                  type: number
                                isBlocked:
                                  type: boolean
                            attemptedLinks:
                              type: array
                              items:
                                type: object
                                properties:
                                  entityId:
                                    type: string
                                  entityType:
                                    type: string
                                    enum:
                                      - order
                                      - deposit
                                  attemptedAt:
                                    type: number
                                  reason:
                                    type: string
                                  errorId:
                                    type: string
                                required:
                                  - entityId
                                  - entityType
                                  - attemptedAt
                                  - reason
                            reviewReason:
                              type: string
                              nullable: true
                            senderEnrichmentSubmitted:
                              type: boolean
                            refundStatus:
                              type: string
                              enum:
                                - pending_approval
                                - returning
                                - returned
                                - failed
                              description: >-
                                Refund state of this payment. Only present while
                                a refund is in play — a payment with no refund
                                in progress carries no such field.
                                `pending_approval`: a refund has been requested
                                and the amount is held; nothing has been sent to
                                the payer. `returning`: the return has been
                                submitted and is awaiting confirmation — intent,
                                not proof, so do not treat the payer as repaid.
                                `returned`: confirmed, the payer has the money
                                back; final. `failed`: the return was rejected
                                and the payment stays held; final. Only
                                `returned` proves the money reached the payer.
                                While this field is present the payment cannot
                                be linked to an order or a deposit.
                            preLinked:
                              type: object
                              nullable: true
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - order
                                    - deposit
                                id:
                                  type: string
                                confidence:
                                  type: number
                                note:
                                  type: string
                                timestamp:
                                  type: number
                                reasonCode:
                                  type: string
                                  enum:
                                    - joint_account
                                    - wrong_name_on_payment
                                    - wrong_name_on_order_or_deposit
                                isProposal:
                                  type: boolean
                                proposedBy:
                                  type: string
                                proposedByMe:
                                  type: boolean
                                hasDocuments:
                                  type: boolean
                              required:
                                - type
                                - id
                                - confidence
                                - isProposal
                                - proposedByMe
                                - hasDocuments
                            sofUploadedByMe:
                              type: boolean
                            sofLastUploadedAt:
                              type: number
                            screening:
                              type: object
                              nullable: true
                              properties:
                                submitted:
                                  type: boolean
                                submittedBy:
                                  type: string
                                submittedByMe:
                                  type: boolean
                                submittedAt:
                                  type: number
                              required:
                                - submitted
                                - submittedByMe
                          required:
                            - id
                            - amount
                            - currency
                      total:
                        type: number
                        description: Total count of pending transfers
                      page:
                        type: number
                      limit:
                        type: number
                    required:
                      - transfers
                required:
                  - ok
                  - value
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/pending-payments", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/pending-payments",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/pending-payments" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/pending-payments/{transferId}:
    get:
      summary: Get pending payment details
      description: >-
        Returns full details for a single pending transfer including
        counterparty information and any pre-linking suggestion.
      tags:
        - Pending Payments
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
          required: true
          name: transferId
          in: path
        - schema:
            type: string
            description: >-
              Optional account id (email) within the calling workspace; the
              proposedByMe / sofUploadedByMe / screening.submittedByMe flags are
              computed relative to it.
          required: false
          description: >-
            Optional account id (email) within the calling workspace; the
            proposedByMe / sofUploadedByMe / screening.submittedByMe flags are
            computed relative to it.
          name: accountId
          in: query
      responses:
        '200':
          description: Successful retrieval of pending payment
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      id:
                        type: string
                        description: >-
                          Transfer identifier — use this to call /link,
                          /create-deposit, or /create-order
                      amount:
                        type: number
                        description: Amount received
                      currency:
                        type: string
                        description: Currency (ISO 4217, e.g. EUR)
                      date:
                        type: string
                        description: Date the payment was received (ISO 8601)
                      timestamp:
                        type: number
                        description: >-
                          Transfer date as epoch milliseconds — use this for
                          sorting/display; the `date` string is locale-formatted
                          and must not be re-parsed
                      reference:
                        type: string
                        nullable: true
                        description: Payment reference text provided by the sender
                      counterparty:
                        type: object
                        properties:
                          name:
                            type: string
                            description: Sender name
                          iban:
                            type: string
                            description: Sender IBAN
                        description: Basic sender information
                      refundStatus:
                        type: string
                        enum:
                          - pending_approval
                          - returning
                          - returned
                          - failed
                        description: >-
                          Refund state of this payment. Only present while a
                          refund is in play — a payment with no refund in
                          progress carries no such field. `pending_approval`: a
                          refund has been requested and the amount is held;
                          nothing has been sent to the payer. `returning`: the
                          return has been submitted and is awaiting confirmation
                          — intent, not proof, so do not treat the payer as
                          repaid. `returned`: confirmed, the payer has the money
                          back; final. `failed`: the return was rejected and the
                          payment stays held; final. Only `returned` proves the
                          money reached the payer. While this field is present
                          the payment cannot be linked to an order or a deposit.
                      reviewReason:
                        type: string
                        nullable: true
                      complianceDocuments:
                        type: array
                        items:
                          type: object
                          properties:
                            path:
                              type: string
                            fileName:
                              type: string
                            uploadedBy:
                              type: string
                            uploadedByKind:
                              type: string
                              enum:
                                - operator
                                - workspace
                            uploadedAt:
                              type: number
                            comment:
                              type: string
                          required:
                            - path
                      preLinked:
                        type: object
                        nullable: true
                        properties:
                          type:
                            type: string
                            enum:
                              - order
                              - deposit
                          id:
                            type: string
                          confidence:
                            type: number
                          note:
                            type: string
                          timestamp:
                            type: number
                          reasonCode:
                            type: string
                            enum:
                              - joint_account
                              - wrong_name_on_payment
                              - wrong_name_on_order_or_deposit
                          isProposal:
                            type: boolean
                          proposedBy:
                            type: string
                          proposedByMe:
                            type: boolean
                          hasDocuments:
                            type: boolean
                        required:
                          - type
                          - id
                          - confidence
                          - isProposal
                          - proposedByMe
                          - hasDocuments
                      sofUploadedByMe:
                        type: boolean
                      sofLastUploadedAt:
                        type: number
                      screening:
                        type: object
                        nullable: true
                        properties:
                          submitted:
                            type: boolean
                          submittedBy:
                            type: string
                          submittedByMe:
                            type: boolean
                          submittedAt:
                            type: number
                        required:
                          - submitted
                          - submittedByMe
                    required:
                      - id
                      - amount
                      - currency
                required:
                  - ok
                  - value
        '404':
          description: Transfer not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/pending-payments/{transferId}/link:
    post:
      summary: Link transfer to an order or deposit
      description: >-
        Links an incoming transfer to an existing order or deposit. Provide the
        `entityId` (order ID or deposit ID) and the `entityType`.
      tags:
        - Pending Payments
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
          required: true
          name: transferId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                transferId:
                  type: string
                  description: Transfer ID without provider prefix (from path parameter)
                  example: '12345'
                entityId:
                  type: string
                  description: Order ID or Deposit ID to link to (from request body)
                  example: 01CLFXMT67II
                entityType:
                  type: string
                  enum:
                    - order
                    - deposit
                  description: Type of entity to link to (from request body)
                  example: deposit
              required:
                - transferId
                - entityId
                - entityType
      responses:
        '200':
          description: Transfer linked successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      message:
                        type: string
                      transferId:
                        type: string
                      entityId:
                        type: string
                      entityType:
                        type: string
                        enum:
                          - order
                          - deposit
                    required:
                      - transferId
                      - entityId
                      - entityType
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            Conflict — the transfer cannot be actioned in its current state: it
            is under review by the VirtuaBroker team (for example, pending name
            verification) or already linked to another order or deposit. The
            error message explains the specific reason.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/link",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "transferId": "12345",
                  "entityId": "01CLFXMT67II",
                  "entityType": "deposit"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/link",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "transferId": "12345",
                    "entityId": "01CLFXMT67II",
                    "entityType": "deposit"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/link"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "transferId": "12345",
              "entityId": "01CLFXMT67II",
              "entityType": "deposit"
            }'
  /v1/pending-payments/{transferId}/propose-link:
    post:
      summary: Propose linking a transfer whose payer details do not match
      description: >-
        Use this when `POST /v1/pending-payments/{transferId}/link` is refused
        because the payer on the transfer does not match the holder on the order
        or deposit — a payment sent from a partner's account, a maiden name, or
        a typo in the reference.


        Instead of rejecting the payment, you submit the link as a proposal with
        the reason. If the matching confidence is high enough the transfer is
        linked immediately (`result: "linked"`); otherwise it is stored for
        review and `result` is `"proposed"`, with `reason` telling you which
        detail did not match. Either way the payment stops sitting unattributed.


        The transfer is identified by the path parameter — do not repeat it in
        the body.
      tags:
        - Pending Payments
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Transfer ID, as returned by GET /v1/pending-payments
          required: true
          description: Transfer ID, as returned by GET /v1/pending-payments
          name: transferId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                entityId:
                  type: string
                  minLength: 1
                  description: Deposit ID or Order ID to propose linking to
                  example: 01CLFXMT67II
                note:
                  type: string
                  maxLength: 500
                  description: Optional note from the proposer explaining the link
                  example: >-
                    This is my regular monthly payment despite the different
                    sender name.
                reasonCode:
                  type: string
                  enum:
                    - joint_account
                    - wrong_name_on_payment
                    - wrong_name_on_order_or_deposit
                  description: >-
                    Optional reason the payer details do not match:
                    joint_account (payment from a partner/joint account holder),
                    wrong_name_on_payment, or wrong_name_on_order_or_deposit.
                  example: joint_account
              required:
                - entityId
      responses:
        '200':
          description: Proposal accepted — either linked outright or stored for review
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      result:
                        type: string
                        enum:
                          - linked
                          - proposed
                        description: >-
                          "linked" = auto-linked (score ≥ threshold), "proposed"
                          = stored for admin review
                      confidence:
                        type: number
                        minimum: 0
                        maximum: 100
                        description: Matching confidence score
                      entityType:
                        type: string
                        enum:
                          - order
                          - deposit
                        description: Resolved entity type
                      message:
                        type: string
                      reason:
                        type: string
                        enum:
                          - name_mismatch
                          - amount_mismatch
                          - low_confidence
                        description: >-
                          When result="proposed": abstract code for why the
                          proposal was not auto-confirmed (name_mismatch = payer
                          name differs from the holder; amount_mismatch = amount
                          differs; low_confidence = not enough matching detail).
                          Omitted when result="linked".
                        example: name_mismatch
                    required:
                      - result
                      - confidence
                      - entityType
                required:
                  - ok
                  - value
        '400':
          description: Bad request — invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Transfer or target order/deposit not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            Conflict — the transfer cannot be actioned in its current state:
            already linked, or already carrying a proposal under review.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/propose-link",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "entityId": "01CLFXMT67II",
                  "note": "This is my regular monthly payment despite the different sender name.",
                  "reasonCode": "joint_account"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/propose-link",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "entityId": "01CLFXMT67II",
                    "note": "This is my regular monthly payment despite the different sender name.",
                    "reasonCode": "joint_account"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/propose-link"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "entityId": "01CLFXMT67II",
              "note": "This is my regular monthly payment despite the different sender name.",
              "reasonCode": "joint_account"
            }'
  /v1/pending-payments/{transferId}/create-deposit:
    post:
      summary: Create a deposit from a pending transfer
      description: >-
        Creates a new deposit using an incoming transfer as the funding source.
        The transfer is automatically linked to the resulting deposit.
      tags:
        - Pending Payments
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
          required: true
          name: transferId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - allOf:
                    - type: object
                      properties:
                        externalReference:
                          type: string
                          minLength: 1
                          maxLength: 128
                          description: >-
                            Your own reference for this deposit. Stored as-is
                            and returned on create, detail and list, so you can
                            look the deposit up by it after a network timeout
                            instead of retrying blind. Not interpreted by
                            VirtuaBroker and not shown to the payer — for the
                            payer's transfer reference use
                            depositInfo.referenceCode.
                          examples:
                            - partner-ref-0001
                            - inv_2026_00417
                        userData:
                          oneOf:
                            - type: object
                              properties:
                                userType:
                                  type: string
                                  enum:
                                    - individual
                                firstName:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                  description: >-
                                    First name of the user making the deposit
                                    (or representative for business)
                                  examples:
                                    - John
                                    - Alice
                                    - Bob
                                lastName:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: >-
                                    Last name of the user making the deposit (or
                                    representative for business)
                                  examples:
                                    - Doe
                                    - Smith
                                    - Johnson
                                userEmail:
                                  type: string
                                  maxLength: 254
                                  format: email
                                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                  description: Email of the user making the deposit
                                  examples:
                                    - user@virtuabroker.com
                                    - john.doe@example.com
                                    - alice@example.com
                                address:
                                  type: string
                                  maxLength: 150
                                  description: Address of the user making the deposit
                                  examples:
                                    - 123 Main St, Anytown, ES
                                    - 456 Elm St, Anytown, ES
                                    - 789 Oak St, Anytown, ES
                                taxDocumentType:
                                  type: string
                                  maxLength: 50
                                  description: >-
                                    Tax document type of the user making the
                                    deposit. Common values: DNI, NIE, PASSPORT,
                                    CC, NIT, CE, NIF, but any string is
                                    accepted.
                                  examples:
                                    - CC
                                    - NIT
                                    - CE
                                    - NIF
                                    - Other
                                taxId:
                                  type: string
                                  maxLength: 30
                                  description: Tax ID of the user making the deposit
                                  examples:
                                    - 123-45-6789
                                    - 987-65-4321
                                    - 111-22-3333
                                country:
                                  type: string
                                  enum:
                                    - US
                                    - CA
                                    - GB
                                    - DE
                                    - FR
                                    - AU
                                    - JP
                                    - KR
                                    - SE
                                    - 'NO'
                                    - DK
                                    - FI
                                    - NL
                                    - BE
                                    - CH
                                    - AT
                                    - NZ
                                    - SG
                                    - IE
                                    - LU
                                    - PT
                                    - ES
                                    - IT
                                    - GR
                                    - CZ
                                    - PL
                                    - HU
                                    - SK
                                    - SI
                                    - EE
                                    - LT
                                    - LV
                                    - IS
                                    - MT
                                    - CY
                                    - HR
                                    - RO
                                    - BG
                                    - BR
                                    - AR
                                    - CL
                                    - MX
                                    - CO
                                    - PE
                                    - PA
                                    - UY
                                    - BO
                                    - ZA
                                    - NG
                                    - KE
                                    - GH
                                    - TZ
                                    - UG
                                    - RW
                                    - MW
                                    - ZM
                                    - BW
                                    - CD
                                    - CI
                                    - CM
                                    - IL
                                    - AE
                                    - QA
                                    - SA
                                    - OM
                                    - KW
                                    - BH
                                    - MY
                                    - PH
                                    - TH
                                    - VN
                                    - ID
                                    - IN
                                    - LK
                                    - NP
                                    - BD
                                    - PK
                                    - EG
                                    - MA
                                    - DZ
                                    - TN
                                    - JO
                                    - LB
                                    - TR
                                    - KH
                                    - MM
                                    - LA
                                    - EN
                                    - BT
                                    - VE
                                    - TW
                                    - HK
                                    - CN
                                  description: Country code of the user making the deposit
                                  examples:
                                    - ES
                                    - US
                                    - GB
                                state:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: State of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                postalCode:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Postal code of the user making the deposit
                                  examples:
                                    - '12345'
                                    - '67890'
                                    - abcde
                                city:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: City of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                dob:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Date of birth of the user making the deposit
                                  examples:
                                    - '1990-01-01'
                                    - '1995-05-15'
                                    - '1988-12-31'
                                phoneNumber:
                                  type: string
                                  maxLength: 30
                                  description: Phone number of the user making the deposit
                                  examples:
                                    - '+447700900123'
                                    - '+447700900456'
                                    - '+447700900789'
                                kycId:
                                  type: string
                                  minLength: 1
                                  maxLength: 300
                                  description: >-
                                    KYC ID of the user making the deposit on
                                    your platform (if the KYC is done by you,
                                    add the url)
                                  examples:
                                    - kyc-12345
                                    - kyc-67890
                                    - kyc-abcde
                                activity:
                                  type: string
                                  description: Activity of the user making the deposit
                                  examples:
                                    - worker
                                    - business
                                    - student
                              required:
                                - userType
                                - firstName
                                - userEmail
                                - country
                            - type: object
                              properties:
                                userType:
                                  type: string
                                  enum:
                                    - business
                                businessName:
                                  type: string
                                  maxLength: 150
                                  description: >-
                                    Business name (required when userType is
                                    business)
                                  examples:
                                    - Acme Corp
                                    - Tech Solutions Inc
                                    - Global Services Ltd
                                firstName:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                  description: >-
                                    First name of the user making the deposit
                                    (or representative for business)
                                  examples:
                                    - John
                                    - Alice
                                    - Bob
                                userEmail:
                                  type: string
                                  maxLength: 254
                                  format: email
                                  pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                  description: Email of the user making the deposit
                                  examples:
                                    - user@virtuabroker.com
                                    - john.doe@example.com
                                    - alice@example.com
                                address:
                                  type: string
                                  maxLength: 150
                                  description: Address of the user making the deposit
                                  examples:
                                    - 123 Main St, Anytown, ES
                                    - 456 Elm St, Anytown, ES
                                    - 789 Oak St, Anytown, ES
                                taxDocumentType:
                                  type: string
                                  maxLength: 50
                                  description: >-
                                    Tax document type of the user making the
                                    deposit. Common values: DNI, NIE, PASSPORT,
                                    CC, NIT, CE, NIF, but any string is
                                    accepted.
                                  examples:
                                    - CC
                                    - NIT
                                    - CE
                                    - NIF
                                    - Other
                                taxId:
                                  type: string
                                  maxLength: 30
                                  description: Tax ID of the user making the deposit
                                  examples:
                                    - 123-45-6789
                                    - 987-65-4321
                                    - 111-22-3333
                                country:
                                  type: string
                                  enum:
                                    - US
                                    - CA
                                    - GB
                                    - DE
                                    - FR
                                    - AU
                                    - JP
                                    - KR
                                    - SE
                                    - 'NO'
                                    - DK
                                    - FI
                                    - NL
                                    - BE
                                    - CH
                                    - AT
                                    - NZ
                                    - SG
                                    - IE
                                    - LU
                                    - PT
                                    - ES
                                    - IT
                                    - GR
                                    - CZ
                                    - PL
                                    - HU
                                    - SK
                                    - SI
                                    - EE
                                    - LT
                                    - LV
                                    - IS
                                    - MT
                                    - CY
                                    - HR
                                    - RO
                                    - BG
                                    - BR
                                    - AR
                                    - CL
                                    - MX
                                    - CO
                                    - PE
                                    - PA
                                    - UY
                                    - BO
                                    - ZA
                                    - NG
                                    - KE
                                    - GH
                                    - TZ
                                    - UG
                                    - RW
                                    - MW
                                    - ZM
                                    - BW
                                    - CD
                                    - CI
                                    - CM
                                    - IL
                                    - AE
                                    - QA
                                    - SA
                                    - OM
                                    - KW
                                    - BH
                                    - MY
                                    - PH
                                    - TH
                                    - VN
                                    - ID
                                    - IN
                                    - LK
                                    - NP
                                    - BD
                                    - PK
                                    - EG
                                    - MA
                                    - DZ
                                    - TN
                                    - JO
                                    - LB
                                    - TR
                                    - KH
                                    - MM
                                    - LA
                                    - EN
                                    - BT
                                    - VE
                                    - TW
                                    - HK
                                    - CN
                                  description: Country code of the user making the deposit
                                  examples:
                                    - ES
                                    - US
                                    - GB
                                state:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: State of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                postalCode:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Postal code of the user making the deposit
                                  examples:
                                    - '12345'
                                    - '67890'
                                    - abcde
                                city:
                                  type: string
                                  minLength: 1
                                  maxLength: 100
                                  description: City of the user making the deposit
                                  examples:
                                    - Madrid
                                    - New York
                                    - London
                                dob:
                                  type: string
                                  minLength: 1
                                  maxLength: 30
                                  description: Date of birth of the user making the deposit
                                  examples:
                                    - '1990-01-01'
                                    - '1995-05-15'
                                    - '1988-12-31'
                                phoneNumber:
                                  type: string
                                  maxLength: 30
                                  description: Phone number of the user making the deposit
                                  examples:
                                    - '+447700900123'
                                    - '+447700900456'
                                    - '+447700900789'
                                kycId:
                                  type: string
                                  minLength: 1
                                  maxLength: 300
                                  description: >-
                                    KYC ID of the user making the deposit on
                                    your platform (if the KYC is done by you,
                                    add the url)
                                  examples:
                                    - kyc-12345
                                    - kyc-67890
                                    - kyc-abcde
                                activity:
                                  type: string
                                  description: Activity of the user making the deposit
                                  examples:
                                    - worker
                                    - business
                                    - student
                              required:
                                - userType
                                - businessName
                                - firstName
                                - userEmail
                                - country
                          description: User data of the person/company making the deposit
                        userDataId:
                          type: string
                          description: Account ID of the person/company making the deposit
                          examples:
                            - d290f1ee-6c54-4b01-90e6-d701748f0851
                        originCountry:
                          type: string
                          minLength: 2
                          maxLength: 2
                          description: >-
                            Collection country (ISO-3166 alpha-2) for a
                            multi-country payin currency (CFA zones). Must be a
                            valid collection country for the currency; omitted ⇒
                            the default collection country is used.
                          examples:
                            - CI
                            - SN
                            - CM
                        originNetworkId:
                          type: string
                          minLength: 1
                          maxLength: 64
                          description: >-
                            Collection network the payer will pay from, for a
                            mobile-money payin corridor. Must be one of the ids
                            returned by GET
                            /v1/currencies/{currency}/networks?rail={rail}&rampType=deposit
                            — passing the same rail, and the same country where
                            the currency is collected across several — not free
                            text. Required only where the corridor offers more
                            than one network; a single-network corridor resolves
                            it automatically and needs no value.
                          examples:
                            - 3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f
                    - anyOf:
                        - type: object
                          properties:
                            amount:
                              type: number
                              minimum: 0
                              exclusiveMinimum: true
                              description: Amount to be deposited
                              examples:
                                - 100
                                - 1000
                                - 5000
                                - 10000
                            currency:
                              type: string
                              enum:
                                - USDC
                                - USDT
                                - CUSD
                                - BTC
                                - ETH
                                - POL
                                - SOL
                                - TRX
                                - AVAX
                                - XRP
                                - BNB
                              description: Currency of the deposit
                              examples:
                                - USDC
                                - CUSD
                                - ETH
                            rail:
                              anyOf:
                                - type: string
                                  enum:
                                    - BTC
                                    - ETH
                                    - MATIC
                                    - CELO
                                    - SOLANA
                                    - TRON
                                    - BSC
                                    - XRP
                                    - ARBITRUM
                                    - OPTIMISM
                                    - AVALANCHE
                                    - BASE
                                    - CARDANO
                                - type: string
                                  enum:
                                    - BALANCE
                          required:
                            - amount
                            - currency
                            - rail
                        - type: object
                          properties:
                            amount:
                              type: number
                              minimum: 0
                              exclusiveMinimum: true
                              description: Amount to be deposited
                              examples:
                                - 100
                                - 1000
                                - 5000
                                - 10000
                            currency:
                              type: string
                              enum:
                                - EUR
                                - USD
                                - GBP
                                - BRL
                                - MXN
                                - ARS
                                - COP
                                - PEN
                                - NGN
                                - KES
                                - TZS
                                - UGX
                                - RWF
                                - MWK
                                - ZMW
                                - XOF
                                - XAF
                                - BWP
                              description: Currency of the deposit
                              examples:
                                - EUR
                                - BRL
                            rail:
                              type: string
                              enum:
                                - BALANCE
                                - SEPA
                                - BTC
                                - ETH
                                - MATIC
                                - POLYGON
                                - CELO
                                - TRON
                                - SOLANA
                                - ARBITRUM
                                - OPTIMISM
                                - AVALANCHE
                                - BSC
                                - BASE
                                - XRP
                                - PIX_BR
                                - UPI
                                - IMPS
                                - TRY_BANK_TRANSFER
                                - AED_BANK_TRANSFER
                                - SPEI
                                - IDR_BANK_TRANSFER
                                - CREDIT_CARD
                                - THAI_QR
                                - VIET_QR
                                - GCASH
                                - ARGENTINA_BANK_TRANSFER
                                - PSE
                                - CLABE
                                - PIX
                                - BANK_DEPOSIT_COL
                                - BANK_DEPOSIT_AR
                                - BANK_DEPOSIT_CL
                                - BANK_DEPOSIT_PE
                                - BANK_DEPOSIT_BO
                                - BANK_DEPOSIT_BR
                                - BANK_DEPOSIT_NG
                                - BANK_DEPOSIT_KE
                                - BANK_DEPOSIT_GH
                                - BANK_DEPOSIT_ZA
                                - BANK_DEPOSIT_TZ
                                - BANK_DEPOSIT_UG
                                - BANK_DEPOSIT_RW
                                - BANK_DEPOSIT_MW
                                - BANK_DEPOSIT_ZM
                                - BANK_DEPOSIT_BW
                                - BANK_DEPOSIT_CD
                                - BANK_DEPOSIT_XOF
                                - BANK_DEPOSIT_XAF
                                - MOBILE_MONEY_NG
                                - MOBILE_MONEY_KE
                                - MOBILE_MONEY_GH
                                - MOBILE_MONEY_ZA
                                - MOBILE_MONEY_TZ
                                - MOBILE_MONEY_UG
                                - MOBILE_MONEY_RW
                                - MOBILE_MONEY_MW
                                - MOBILE_MONEY_ZM
                                - MOBILE_MONEY_BW
                                - MOBILE_MONEY_CD
                                - MOBILE_MONEY_XOF
                                - MOBILE_MONEY_XAF
                                - ACH_US
                                - GBP_BANK_TRANSFER
                              description: Rail for the deposit for fiat deposits
                              examples:
                                - SEPA
                                - MATIC
                          required:
                            - currency
                  description: >-
                    Request schema for creating a deposit. Must provide either
                    userData or userDataId.
                - type: object
                  properties:
                    transferId:
                      type: string
                      description: >-
                        Transfer ID without provider prefix (from path
                        parameter)
                      example: '12345'
                  required:
                    - transferId
      responses:
        '200':
          description: Deposit created and transfer linked
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    allOf:
                      - type: object
                        properties:
                          depositId:
                            type: string
                            minLength: 1
                            description: >-
                              ID of the deposit. Normally a 12-character
                              internal id; deposits created before mid-2026 may
                              carry a longer legacy id. Treat it as an opaque
                              string.
                          externalReference:
                            type: string
                            minLength: 1
                            maxLength: 128
                            description: >-
                              Your own reference for this deposit. Stored as-is
                              and returned on create, detail and list, so you
                              can look the deposit up by it after a network
                              timeout instead of retrying blind. Not interpreted
                              by VirtuaBroker and not shown to the payer — for
                              the payer's transfer reference use
                              depositInfo.referenceCode.
                            examples:
                              - partner-ref-0001
                              - inv_2026_00417
                          userData:
                            oneOf:
                              - type: object
                                properties:
                                  userType:
                                    type: string
                                    enum:
                                      - individual
                                  firstName:
                                    type: string
                                    minLength: 1
                                    maxLength: 50
                                    description: >-
                                      First name of the user making the deposit
                                      (or representative for business)
                                    examples:
                                      - John
                                      - Alice
                                      - Bob
                                  lastName:
                                    type: string
                                    minLength: 1
                                    maxLength: 100
                                    description: >-
                                      Last name of the user making the deposit
                                      (or representative for business)
                                    examples:
                                      - Doe
                                      - Smith
                                      - Johnson
                                  userEmail:
                                    type: string
                                    maxLength: 254
                                    format: email
                                    pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                    description: Email of the user making the deposit
                                    examples:
                                      - user@virtuabroker.com
                                      - john.doe@example.com
                                      - alice@example.com
                                  address:
                                    type: string
                                    maxLength: 150
                                    description: Address of the user making the deposit
                                    examples:
                                      - 123 Main St, Anytown, ES
                                      - 456 Elm St, Anytown, ES
                                      - 789 Oak St, Anytown, ES
                                  taxDocumentType:
                                    type: string
                                    maxLength: 50
                                    description: >-
                                      Tax document type of the user making the
                                      deposit. Common values: DNI, NIE,
                                      PASSPORT, CC, NIT, CE, NIF, but any string
                                      is accepted.
                                    examples:
                                      - CC
                                      - NIT
                                      - CE
                                      - NIF
                                      - Other
                                  taxId:
                                    type: string
                                    maxLength: 30
                                    description: Tax ID of the user making the deposit
                                    examples:
                                      - 123-45-6789
                                      - 987-65-4321
                                      - 111-22-3333
                                  country:
                                    type: string
                                    enum:
                                      - US
                                      - CA
                                      - GB
                                      - DE
                                      - FR
                                      - AU
                                      - JP
                                      - KR
                                      - SE
                                      - 'NO'
                                      - DK
                                      - FI
                                      - NL
                                      - BE
                                      - CH
                                      - AT
                                      - NZ
                                      - SG
                                      - IE
                                      - LU
                                      - PT
                                      - ES
                                      - IT
                                      - GR
                                      - CZ
                                      - PL
                                      - HU
                                      - SK
                                      - SI
                                      - EE
                                      - LT
                                      - LV
                                      - IS
                                      - MT
                                      - CY
                                      - HR
                                      - RO
                                      - BG
                                      - BR
                                      - AR
                                      - CL
                                      - MX
                                      - CO
                                      - PE
                                      - PA
                                      - UY
                                      - BO
                                      - ZA
                                      - NG
                                      - KE
                                      - GH
                                      - TZ
                                      - UG
                                      - RW
                                      - MW
                                      - ZM
                                      - BW
                                      - CD
                                      - CI
                                      - CM
                                      - IL
                                      - AE
                                      - QA
                                      - SA
                                      - OM
                                      - KW
                                      - BH
                                      - MY
                                      - PH
                                      - TH
                                      - VN
                                      - ID
                                      - IN
                                      - LK
                                      - NP
                                      - BD
                                      - PK
                                      - EG
                                      - MA
                                      - DZ
                                      - TN
                                      - JO
                                      - LB
                                      - TR
                                      - KH
                                      - MM
                                      - LA
                                      - EN
                                      - BT
                                      - VE
                                      - TW
                                      - HK
                                      - CN
                                    description: >-
                                      Country code of the user making the
                                      deposit
                                    examples:
                                      - ES
                                      - US
                                      - GB
                                  state:
                                    type: string
                                    minLength: 1
                                    maxLength: 100
                                    description: State of the user making the deposit
                                    examples:
                                      - Madrid
                                      - New York
                                      - London
                                  postalCode:
                                    type: string
                                    minLength: 1
                                    maxLength: 30
                                    description: Postal code of the user making the deposit
                                    examples:
                                      - '12345'
                                      - '67890'
                                      - abcde
                                  city:
                                    type: string
                                    minLength: 1
                                    maxLength: 100
                                    description: City of the user making the deposit
                                    examples:
                                      - Madrid
                                      - New York
                                      - London
                                  dob:
                                    type: string
                                    minLength: 1
                                    maxLength: 30
                                    description: >-
                                      Date of birth of the user making the
                                      deposit
                                    examples:
                                      - '1990-01-01'
                                      - '1995-05-15'
                                      - '1988-12-31'
                                  phoneNumber:
                                    type: string
                                    maxLength: 30
                                    description: >-
                                      Phone number of the user making the
                                      deposit
                                    examples:
                                      - '+447700900123'
                                      - '+447700900456'
                                      - '+447700900789'
                                  kycId:
                                    type: string
                                    minLength: 1
                                    maxLength: 300
                                    description: >-
                                      KYC ID of the user making the deposit on
                                      your platform (if the KYC is done by you,
                                      add the url)
                                    examples:
                                      - kyc-12345
                                      - kyc-67890
                                      - kyc-abcde
                                  activity:
                                    type: string
                                    description: Activity of the user making the deposit
                                    examples:
                                      - worker
                                      - business
                                      - student
                                required:
                                  - userType
                                  - firstName
                                  - userEmail
                                  - country
                              - type: object
                                properties:
                                  userType:
                                    type: string
                                    enum:
                                      - business
                                  businessName:
                                    type: string
                                    maxLength: 150
                                    description: >-
                                      Business name (required when userType is
                                      business)
                                    examples:
                                      - Acme Corp
                                      - Tech Solutions Inc
                                      - Global Services Ltd
                                  firstName:
                                    type: string
                                    minLength: 1
                                    maxLength: 50
                                    description: >-
                                      First name of the user making the deposit
                                      (or representative for business)
                                    examples:
                                      - John
                                      - Alice
                                      - Bob
                                  userEmail:
                                    type: string
                                    maxLength: 254
                                    format: email
                                    pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                    description: Email of the user making the deposit
                                    examples:
                                      - user@virtuabroker.com
                                      - john.doe@example.com
                                      - alice@example.com
                                  address:
                                    type: string
                                    maxLength: 150
                                    description: Address of the user making the deposit
                                    examples:
                                      - 123 Main St, Anytown, ES
                                      - 456 Elm St, Anytown, ES
                                      - 789 Oak St, Anytown, ES
                                  taxDocumentType:
                                    type: string
                                    maxLength: 50
                                    description: >-
                                      Tax document type of the user making the
                                      deposit. Common values: DNI, NIE,
                                      PASSPORT, CC, NIT, CE, NIF, but any string
                                      is accepted.
                                    examples:
                                      - CC
                                      - NIT
                                      - CE
                                      - NIF
                                      - Other
                                  taxId:
                                    type: string
                                    maxLength: 30
                                    description: Tax ID of the user making the deposit
                                    examples:
                                      - 123-45-6789
                                      - 987-65-4321
                                      - 111-22-3333
                                  country:
                                    type: string
                                    enum:
                                      - US
                                      - CA
                                      - GB
                                      - DE
                                      - FR
                                      - AU
                                      - JP
                                      - KR
                                      - SE
                                      - 'NO'
                                      - DK
                                      - FI
                                      - NL
                                      - BE
                                      - CH
                                      - AT
                                      - NZ
                                      - SG
                                      - IE
                                      - LU
                                      - PT
                                      - ES
                                      - IT
                                      - GR
                                      - CZ
                                      - PL
                                      - HU
                                      - SK
                                      - SI
                                      - EE
                                      - LT
                                      - LV
                                      - IS
                                      - MT
                                      - CY
                                      - HR
                                      - RO
                                      - BG
                                      - BR
                                      - AR
                                      - CL
                                      - MX
                                      - CO
                                      - PE
                                      - PA
                                      - UY
                                      - BO
                                      - ZA
                                      - NG
                                      - KE
                                      - GH
                                      - TZ
                                      - UG
                                      - RW
                                      - MW
                                      - ZM
                                      - BW
                                      - CD
                                      - CI
                                      - CM
                                      - IL
                                      - AE
                                      - QA
                                      - SA
                                      - OM
                                      - KW
                                      - BH
                                      - MY
                                      - PH
                                      - TH
                                      - VN
                                      - ID
                                      - IN
                                      - LK
                                      - NP
                                      - BD
                                      - PK
                                      - EG
                                      - MA
                                      - DZ
                                      - TN
                                      - JO
                                      - LB
                                      - TR
                                      - KH
                                      - MM
                                      - LA
                                      - EN
                                      - BT
                                      - VE
                                      - TW
                                      - HK
                                      - CN
                                    description: >-
                                      Country code of the user making the
                                      deposit
                                    examples:
                                      - ES
                                      - US
                                      - GB
                                  state:
                                    type: string
                                    minLength: 1
                                    maxLength: 100
                                    description: State of the user making the deposit
                                    examples:
                                      - Madrid
                                      - New York
                                      - London
                                  postalCode:
                                    type: string
                                    minLength: 1
                                    maxLength: 30
                                    description: Postal code of the user making the deposit
                                    examples:
                                      - '12345'
                                      - '67890'
                                      - abcde
                                  city:
                                    type: string
                                    minLength: 1
                                    maxLength: 100
                                    description: City of the user making the deposit
                                    examples:
                                      - Madrid
                                      - New York
                                      - London
                                  dob:
                                    type: string
                                    minLength: 1
                                    maxLength: 30
                                    description: >-
                                      Date of birth of the user making the
                                      deposit
                                    examples:
                                      - '1990-01-01'
                                      - '1995-05-15'
                                      - '1988-12-31'
                                  phoneNumber:
                                    type: string
                                    maxLength: 30
                                    description: >-
                                      Phone number of the user making the
                                      deposit
                                    examples:
                                      - '+447700900123'
                                      - '+447700900456'
                                      - '+447700900789'
                                  kycId:
                                    type: string
                                    minLength: 1
                                    maxLength: 300
                                    description: >-
                                      KYC ID of the user making the deposit on
                                      your platform (if the KYC is done by you,
                                      add the url)
                                    examples:
                                      - kyc-12345
                                      - kyc-67890
                                      - kyc-abcde
                                  activity:
                                    type: string
                                    description: Activity of the user making the deposit
                                    examples:
                                      - worker
                                      - business
                                      - student
                                required:
                                  - userType
                                  - businessName
                                  - firstName
                                  - userEmail
                                  - country
                            description: User data of the person/company making the deposit
                            examples:
                              - userType: individual
                                firstName: John
                                lastName: Doe
                                userEmail: user@virtuabroker.com
                                address: 123 Main St, Anytown, ES
                                taxId: 123-45-6789
                                country: ES
                              - userType: individual
                                firstName: Alice
                                lastName: Smith
                                userEmail: alice@example.com
                                address: 456 Elm St, Anytown, ES
                                taxId: 987-65-4321
                                country: ES
                          createdAt:
                            type: number
                            description: Creation time of the deposit
                            examples:
                              - 1723027132
                              - 1723027133
                              - 1723027134
                          rail:
                            type: string
                            enum:
                              - BALANCE
                              - SEPA
                              - BTC
                              - ETH
                              - MATIC
                              - POLYGON
                              - CELO
                              - TRON
                              - SOLANA
                              - ARBITRUM
                              - OPTIMISM
                              - AVALANCHE
                              - BSC
                              - BASE
                              - XRP
                              - PIX_BR
                              - UPI
                              - IMPS
                              - TRY_BANK_TRANSFER
                              - AED_BANK_TRANSFER
                              - SPEI
                              - IDR_BANK_TRANSFER
                              - CREDIT_CARD
                              - THAI_QR
                              - VIET_QR
                              - GCASH
                              - ARGENTINA_BANK_TRANSFER
                              - PSE
                              - CLABE
                              - PIX
                              - BANK_DEPOSIT_COL
                              - BANK_DEPOSIT_AR
                              - BANK_DEPOSIT_CL
                              - BANK_DEPOSIT_PE
                              - BANK_DEPOSIT_BO
                              - BANK_DEPOSIT_BR
                              - BANK_DEPOSIT_NG
                              - BANK_DEPOSIT_KE
                              - BANK_DEPOSIT_GH
                              - BANK_DEPOSIT_ZA
                              - BANK_DEPOSIT_TZ
                              - BANK_DEPOSIT_UG
                              - BANK_DEPOSIT_RW
                              - BANK_DEPOSIT_MW
                              - BANK_DEPOSIT_ZM
                              - BANK_DEPOSIT_BW
                              - BANK_DEPOSIT_CD
                              - BANK_DEPOSIT_XOF
                              - BANK_DEPOSIT_XAF
                              - MOBILE_MONEY_NG
                              - MOBILE_MONEY_KE
                              - MOBILE_MONEY_GH
                              - MOBILE_MONEY_ZA
                              - MOBILE_MONEY_TZ
                              - MOBILE_MONEY_UG
                              - MOBILE_MONEY_RW
                              - MOBILE_MONEY_MW
                              - MOBILE_MONEY_ZM
                              - MOBILE_MONEY_BW
                              - MOBILE_MONEY_CD
                              - MOBILE_MONEY_XOF
                              - MOBILE_MONEY_XAF
                              - ACH_US
                              - GBP_BANK_TRANSFER
                            description: Rail of the deposit
                          receivedAt:
                            type: number
                            description: >-
                              Unix ms timestamp of when the funds for this
                              deposit ARRIVED — recorded when the incoming
                              payment is matched to the deposit, which is before
                              it is credited. Present whenever funds have
                              arrived, including a deposit whose funds are still
                              held in review; omitted entirely when no funds
                              ever arrived, so a never-funded or cancelled
                              deposit has no value here and its presence is a
                              reliable settlement signal for reconciliation.
                              Identical on GET /v1/deposits and GET
                              /v1/deposits/{depositId}. Note that the deposit
                              object embedded in order and operation responses
                              does not yet apply this rule — it returns the
                              stored value. Not the creation time — use
                              createdAt for that.
                            examples:
                              - 1723027132000
                              - 1723027133000
                              - 1723027134000
                          expectedAmount:
                            type: number
                            minimum: 0
                            description: Amount expected of the deposit
                            examples:
                              - 1000
                              - 2000
                              - 3000
                          amount:
                            type: number
                            minimum: 0
                            description: Amount received of the deposit
                            examples:
                              - 1000
                              - 2000
                              - 3000
                          currency:
                            anyOf:
                              - type: string
                                enum:
                                  - EUR
                                  - USD
                                  - GBP
                                  - BRL
                                  - MXN
                                  - ARS
                                  - COP
                                  - PEN
                                  - NGN
                                  - KES
                                  - TZS
                                  - UGX
                                  - RWF
                                  - MWK
                                  - ZMW
                                  - XOF
                                  - XAF
                                  - BWP
                              - type: string
                                enum:
                                  - USDC
                                  - USDT
                                  - CUSD
                                  - BTC
                                  - ETH
                                  - POL
                                  - SOL
                                  - TRX
                                  - AVAX
                                  - XRP
                                  - BNB
                            description: Currency of the deposit
                            examples:
                              - EUR
                              - BRL
                          fee:
                            type: number
                            minimum: 0
                            description: >-
                              Fee for the deposit. This value is written once
                              the deposit has been executed. Meanwhile it will
                              appear 0.
                            example: 10
                          expectedFee:
                            type: number
                            minimum: 0
                            description: >-
                              Fee for the deposit. This value is correlated with
                              the expected amount for the deposit.
                            examples:
                              - 10
                              - 20
                              - 30
                          feeCurrency:
                            anyOf:
                              - type: string
                                enum:
                                  - EUR
                                  - USD
                                  - GBP
                                  - BRL
                                  - MXN
                                  - ARS
                                  - COP
                                  - PEN
                                  - NGN
                                  - KES
                                  - TZS
                                  - UGX
                                  - RWF
                                  - MWK
                                  - ZMW
                                  - XOF
                                  - XAF
                                  - BWP
                              - type: string
                                enum:
                                  - USDC
                                  - USDT
                                  - CUSD
                                  - BTC
                                  - ETH
                                  - POL
                                  - SOL
                                  - TRX
                                  - AVAX
                                  - XRP
                                  - BNB
                            description: Currency of the fee
                            examples:
                              - EUR
                              - BRL
                          status:
                            anyOf:
                              - type: string
                                enum:
                                  - Pending
                                  - Processing
                                  - Success
                                  - Failed
                                  - Canceled
                                  - Reviewing
                                description: >-
                                  Common status values that are shared across
                                  all operation types
                                examples:
                                  - Pending
                                  - Processing
                                  - Success
                                  - Failed
                                  - Canceled
                                  - Reviewing
                              - type: string
                                enum:
                                  - PendingCancel
                                  - Received
                            description: Status of the deposit
                            examples:
                              - Pending
                              - Success
                              - Failed
                              - Received
                              - PendingCancel
                          depositInfo:
                            oneOf:
                              - type: object
                                properties:
                                  accountHolder:
                                    type: string
                                    description: Name of the account holder
                                    example: John Doe
                                  iban:
                                    type: string
                                    description: SEPA Bank Account Number
                                    example: DE8937XXXXXXXXXXXX3000
                                  bic:
                                    type: string
                                    description: Bank BIC/SWIFT code
                                    example: DEUTDEFF
                                  bankName:
                                    type: string
                                    description: Name of the bank
                                    example: Deutsche Bank
                                  bankAddress:
                                    type: string
                                    description: Address of the bank
                                    example: Taunusanlage 12
                                  bankCity:
                                    type: string
                                    description: City of the bank
                                    example: Frankfurt am Main
                                  bankZipcode:
                                    type: string
                                    description: Zipcode of the bank
                                    example: '60325'
                                  bankCountry:
                                    type: string
                                    enum:
                                      - US
                                      - CA
                                      - GB
                                      - DE
                                      - FR
                                      - AU
                                      - JP
                                      - KR
                                      - SE
                                      - 'NO'
                                      - DK
                                      - FI
                                      - NL
                                      - BE
                                      - CH
                                      - AT
                                      - NZ
                                      - SG
                                      - IE
                                      - LU
                                      - PT
                                      - ES
                                      - IT
                                      - GR
                                      - CZ
                                      - PL
                                      - HU
                                      - SK
                                      - SI
                                      - EE
                                      - LT
                                      - LV
                                      - IS
                                      - MT
                                      - CY
                                      - HR
                                      - RO
                                      - BG
                                      - BR
                                      - AR
                                      - CL
                                      - MX
                                      - CO
                                      - PE
                                      - PA
                                      - UY
                                      - BO
                                      - ZA
                                      - NG
                                      - KE
                                      - GH
                                      - TZ
                                      - UG
                                      - RW
                                      - MW
                                      - ZM
                                      - BW
                                      - CD
                                      - CI
                                      - CM
                                      - IL
                                      - AE
                                      - QA
                                      - SA
                                      - OM
                                      - KW
                                      - BH
                                      - MY
                                      - PH
                                      - TH
                                      - VN
                                      - ID
                                      - IN
                                      - LK
                                      - NP
                                      - BD
                                      - PK
                                      - EG
                                      - MA
                                      - DZ
                                      - TN
                                      - JO
                                      - LB
                                      - TR
                                      - KH
                                      - MM
                                      - LA
                                      - EN
                                      - BT
                                      - VE
                                      - TW
                                      - HK
                                      - CN
                                    description: Country of the bank
                                    example: DE
                                  depositType:
                                    type: string
                                    enum:
                                      - SEPA
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: >-
                                      Expected deposit amount. It can be 0 for
                                      open-amount bank transfers where the
                                      sender chooses the final amount from their
                                      bank.
                                    example: 1000
                                  referenceCode:
                                    type: string
                                    minLength: 1
                                    description: >-
                                      A unique identifier for the deposit,
                                      crucial for matching the deposit with the
                                      corresponding order. The user must include
                                      this code when making the deposit to
                                      ensure accurate processing. In cases where
                                      the reference code is incorrect or
                                      missing, we manually match orders based on
                                      the sender's name and other available
                                      details. In case the deposit is not
                                      matched, we will mark the order as
                                      Reviewing and the system will require
                                      manual attention.
                                    example: REF123456
                                  extraDepositMethods:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        methodType:
                                          type: string
                                          enum:
                                            - HOSTED_CHECKOUT
                                          description: >-
                                            HOSTED_CHECKOUT: a hosted payment page
                                            to send the payer to (card). More types
                                            may be added — treat an unknown value as
                                            unsupported and fall back to the bank
                                            details in `depositInfo`.
                                        url:
                                          type: string
                                          description: >-
                                            URL to send the payer to. For
                                            HOSTED_CHECKOUT, redirect the payer here
                                            (or embed it) to pay by card.
                                          example: https://checkout.example.com/pay/abc123
                                        callbackUrl:
                                          type: string
                                          description: >-
                                            Where the payer’s BROWSER is returned
                                            after paying. Informational only: it is
                                            not a server-to-server notification, and
                                            a payer landing there is NOT proof of
                                            payment — rely on the deposit status or
                                            webhooks for that.
                                        referenceCode:
                                          type: string
                                          description: >-
                                            Payment reference for this method
                                            (equals the deposit/order reference)
                                        amount:
                                          type: number
                                          description: >-
                                            Amount payable via this method when it
                                            differs from the deposit amount (e.g. a
                                            method-specific surcharge)
                                        currency:
                                          type: string
                                          description: Currency of this method
                                        expiresAt:
                                          type: number
                                          description: >-
                                            Unix ms after which `url` is no longer
                                            valid, when known
                                      required:
                                        - methodType
                                        - url
                                      description: >-
                                        An additional, optional way to pay this
                                        deposit
                                    description: >-
                                      Additional, optional ways to pay this same
                                      deposit (e.g. a hosted card page). The
                                      bank details above remain the primary
                                      method; ignore this field if you only
                                      support bank transfer.
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                                description: >-
                                  Detailed information about a bank deposit,
                                  including the amount and a unique reference
                                  code for identification.
                              - type: object
                                properties:
                                  address:
                                    type: string
                                    minLength: 1
                                    description: Crypto wallet address
                                    example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                                  network:
                                    type: string
                                    enum:
                                      - MATIC
                                      - ETH
                                      - CELO
                                      - TRON
                                      - BTC
                                      - SOLANA
                                      - XRP
                                      - CARDANO
                                      - BSC
                                      - ARBITRUM
                                      - OPTIMISM
                                      - AVALANCHE
                                      - BASE
                                    description: >-
                                      Network for the deposit for crypto
                                      deposits
                                    examples:
                                      - ETH
                                      - MATIC
                                      - CELO
                                  memo:
                                    type: string
                                    description: Optional memo for the transaction
                                    example: Payment for services
                                  depositType:
                                    type: string
                                    enum:
                                      - CRYPTO
                                  qrCode:
                                    type: string
                                    description: >-
                                      Base64-encoded QR image for the deposit
                                      address
                                    example: >-
                                      iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                                  qrCodeUrl:
                                    type: string
                                    format: uri
                                    description: 7-day signed GCS URL of the QR code PNG
                                  qrCodeExpiresAt:
                                    type: number
                                    description: Unix timestamp (ms) when qrCodeUrl expires
                                  receivingAddress:
                                    type: string
                                    description: >-
                                      The wallet address where funds should be
                                      sent
                                    example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                                  tokenContract:
                                    type: string
                                    description: The ERC20 token contract address
                                    example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                                  decimals:
                                    type: number
                                    description: Token decimals (default 18)
                                    example: 18
                                required:
                                  - address
                                  - network
                                  - depositType
                                description: Crypto Deposit Information
                              - type: object
                                properties:
                                  base64QRCode:
                                    type: string
                                    minLength: 1
                                    description: Base64 encoded QR code
                                    example: base64QRCode
                                  qrCodeString:
                                    type: string
                                    minLength: 1
                                    description: >-
                                      The Pix copy-and-paste code (BR Code
                                      payload) the payer pastes into their bank
                                      app. Pass it through unchanged — it
                                      carries its own checksum.
                                    example: qrCodeString
                                  referenceCode:
                                    type: string
                                    minLength: 1
                                    description: >-
                                      A unique identifier for the deposit,
                                      crucial for matching the deposit with the
                                      corresponding order
                                    example: REF123456
                                  amount:
                                    type: number
                                    minimum: 0
                                    exclusiveMinimum: true
                                    description: >-
                                      The monetary value to be deposited into
                                      the bank. This amount should be positive
                                      and accurately reflect the intended
                                      deposit.
                                    example: 1000
                                  depositType:
                                    type: string
                                    enum:
                                      - PIX
                                required:
                                  - base64QRCode
                                  - qrCodeString
                                  - referenceCode
                                  - amount
                                  - depositType
                                description: Pix Deposit Information
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - CREDIT_CARD
                                required:
                                  - depositType
                              - type: object
                                properties:
                                  bankName:
                                    type: string
                                    description: >-
                                      Name of the bank (present when the rail
                                      provides it)
                                  accountHolder:
                                    type: string
                                    description: >-
                                      Name of the account holder (present when
                                      the rail provides it)
                                  clabe:
                                    type: string
                                    description: CLABE number
                                  accountNumber:
                                    type: string
                                    description: >-
                                      Bank account number (e.g. from the
                                      BANK_TRANSFER payment method)
                                  reference:
                                    type: string
                                    description: >-
                                      Payment reference (e.g. from the
                                      BANK_TRANSFER payment method)
                                  depositType:
                                    type: string
                                    enum:
                                      - CLABE
                                    description: Type of the deposit
                                required:
                                  - clabe
                                  - depositType
                              - type: object
                                properties:
                                  url:
                                    type: string
                                    description: URL of the PSE payment
                                  amountPrefilled:
                                    type: boolean
                                    description: >-
                                      Whether the payment page already carries
                                      the amount. When false or absent, the
                                      payer must enter it.
                                  depositType:
                                    type: string
                                    enum:
                                      - PSE
                                    description: Type of the deposit
                                required:
                                  - url
                                  - depositType
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BALANCE
                                required:
                                  - depositType
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - PENDING
                                  currency:
                                    type: string
                                    description: Currency of the deposit
                                  referenceCode:
                                    type: string
                                    description: Reference code for the order/deposit
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: >-
                                      Expected deposit amount. It can be 0 while
                                      bank transfer details are open-amount or
                                      still being provisioned.
                                  extraDepositMethods:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        methodType:
                                          type: string
                                          enum:
                                            - HOSTED_CHECKOUT
                                          description: >-
                                            HOSTED_CHECKOUT: a hosted payment page
                                            to send the payer to (card). More types
                                            may be added — treat an unknown value as
                                            unsupported and fall back to the bank
                                            details in `depositInfo`.
                                        url:
                                          type: string
                                          description: >-
                                            URL to send the payer to. For
                                            HOSTED_CHECKOUT, redirect the payer here
                                            (or embed it) to pay by card.
                                          example: https://checkout.example.com/pay/abc123
                                        callbackUrl:
                                          type: string
                                          description: >-
                                            Where the payer’s BROWSER is returned
                                            after paying. Informational only: it is
                                            not a server-to-server notification, and
                                            a payer landing there is NOT proof of
                                            payment — rely on the deposit status or
                                            webhooks for that.
                                        referenceCode:
                                          type: string
                                          description: >-
                                            Payment reference for this method
                                            (equals the deposit/order reference)
                                        amount:
                                          type: number
                                          description: >-
                                            Amount payable via this method when it
                                            differs from the deposit amount (e.g. a
                                            method-specific surcharge)
                                        currency:
                                          type: string
                                          description: Currency of this method
                                        expiresAt:
                                          type: number
                                          description: >-
                                            Unix ms after which `url` is no longer
                                            valid, when known
                                      required:
                                        - methodType
                                        - url
                                      description: >-
                                        An additional, optional way to pay this
                                        deposit
                                    description: >-
                                      Additional ways to pay while the bank
                                      details are being provisioned (e.g. a
                                      hosted card page). Optional — ignore it
                                      and wait for the bank details if you only
                                      support bank transfer.
                                  pendingReason:
                                    type: string
                                    enum:
                                      - collection_account_activating
                                      - accountless_per_account_corridor
                                    description: >-
                                      Why the instructions are still being
                                      provisioned, when the reason is known.
                                      `collection_account_activating` means the
                                      collection account for this payer is being
                                      activated and payable details are expected
                                      shortly.
                                      `accountless_per_account_corridor` means
                                      this corridor collects only into a
                                      collection account dedicated to the paying
                                      account, this request names no account,
                                      and none can be created for it — so
                                      payable details will NOT arrive by
                                      waiting; create the deposit against an
                                      account instead. Absence never conveys
                                      timing on either surface: here it means
                                      only that no reason is classifiable, and
                                      an account-level deposit-method
                                      instruction never carries the field at
                                      all. Treat the values as an open set and
                                      ignore any you do not recognise.
                                required:
                                  - depositType
                                  - currency
                                  - referenceCode
                                  - amount
                                description: >-
                                  Deposit details are being provisioned; poll
                                  the order/deposit or wait for webhook
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - IMPS
                                  accountNumber:
                                    type: string
                                    description: Account number
                                  bankName:
                                    type: string
                                    description: Name of the bank
                                  accountHolder:
                                    type: string
                                    description: Name of the account holder
                                  ifsc:
                                    type: string
                                    description: ifsc number
                                  type:
                                    type: string
                                    description: Type of the deposit
                                  branch:
                                    type: string
                                    description: Branch of the bank
                                  bank:
                                    type: string
                                    description: Bank of the account
                                  otp:
                                    type: string
                                    description: OTP of the deposit
                                  bankNotes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: number
                                          description: 'Type of note: -1 for warning, 1 for info'
                                        msg:
                                          type: string
                                          description: Message content
                                      required:
                                        - type
                                        - msg
                                    description: Additional bank instructions
                                required:
                                  - depositType
                                  - accountNumber
                                  - bankName
                                  - accountHolder
                                  - ifsc
                                  - type
                                  - branch
                                  - bank
                                  - otp
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - UPI
                                  vpa:
                                    type: string
                                    description: Virtual Payment Address
                                  name:
                                    type: string
                                    description: Name of the account holder
                                  otp:
                                    type: string
                                    description: OTP for the transaction
                                  paymentLink:
                                    type: string
                                    description: Payment link
                                  upiNotes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: number
                                          description: 'Type of note: -1 for warning, 1 for info'
                                        msg:
                                          type: string
                                          description: Message content
                                      required:
                                        - type
                                        - msg
                                    description: Additional UPI instructions
                                required:
                                  - depositType
                                  - vpa
                                  - name
                                  - otp
                                  - paymentLink
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - AED_BANK_TRANSFER
                                  iban:
                                    type: string
                                    description: International Bank Account Number
                                  name:
                                    type: string
                                    description: Name of the account holder
                                  bank:
                                    type: string
                                    description: Bank name
                                  type:
                                    type: string
                                    description: Account type
                                  address:
                                    type: string
                                    description: Bank address
                                  email:
                                    type: string
                                    description: Contact email
                                  phoneNumber:
                                    type: string
                                    description: Contact phone number
                                  transferCode:
                                    type: string
                                    description: Transfer code
                                  poBox:
                                    type: string
                                    description: P.O. Box
                                  otp:
                                    type: string
                                    description: OTP for the transaction
                                  bankNotes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: number
                                          description: 'Type of note: -1 for warning, 1 for info'
                                        msg:
                                          type: string
                                          description: Message content
                                      required:
                                        - type
                                        - msg
                                    description: Additional bank instructions
                                required:
                                  - depositType
                                  - iban
                                  - name
                                  - bank
                                  - type
                                  - address
                                  - email
                                  - phoneNumber
                                  - transferCode
                                  - poBox
                                  - otp
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - SPEI
                                  clabe:
                                    type: string
                                    description: CLABE number
                                  name:
                                    type: string
                                    description: Name of the account holder
                                  bank:
                                    type: string
                                    description: Bank name
                                  bankNotes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: number
                                          description: 'Type of note: -1 for warning, 1 for info'
                                        msg:
                                          type: string
                                          description: Message content
                                      required:
                                        - type
                                        - msg
                                    description: Additional bank instructions
                                required:
                                  - depositType
                                  - clabe
                                  - name
                                  - bank
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - TRY_BANK_TRANSFER
                                  iban:
                                    type: string
                                    description: International Bank Account Number
                                  name:
                                    type: string
                                    description: Name of the account holder
                                  bank:
                                    type: string
                                    description: Bank name
                                  otp:
                                    type: string
                                    description: OTP for the transaction
                                  bankNotes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: number
                                          description: 'Type of note: -1 for warning, 1 for info'
                                        msg:
                                          type: string
                                          description: Message content
                                      required:
                                        - type
                                        - msg
                                    description: Additional bank instructions
                                required:
                                  - depositType
                                  - iban
                                  - name
                                  - bank
                                  - otp
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - IDR_BANK_TRANSFER
                                  virtualAccount:
                                    type: string
                                    description: Virtual account number
                                  name:
                                    type: string
                                    description: Name of the account holder
                                  bank:
                                    type: string
                                    description: Bank name
                                  bankNotes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: number
                                          description: 'Type of note: -1 for warning, 1 for info'
                                        msg:
                                          type: string
                                          description: Message content
                                      required:
                                        - type
                                        - msg
                                    description: Additional bank instructions
                                required:
                                  - depositType
                                  - virtualAccount
                                  - name
                                  - bank
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - THAI_QR
                                  qrCode:
                                    type: string
                                    description: QR code
                                  otp:
                                    type: string
                                    description: OTP for the transaction
                                  bankNotes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: number
                                          description: 'Type of note: -1 for warning, 1 for info'
                                        msg:
                                          type: string
                                          description: Message content
                                      required:
                                        - type
                                        - msg
                                    description: Additional bank instructions
                                required:
                                  - depositType
                                  - qrCode
                                  - otp
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - VIET_QR
                                  qrCode:
                                    type: string
                                    description: QR code
                                  otp:
                                    type: string
                                    description: OTP for the transaction
                                  bankNotes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: number
                                          description: 'Type of note: -1 for warning, 1 for info'
                                        msg:
                                          type: string
                                          description: Message content
                                      required:
                                        - type
                                        - msg
                                    description: Additional bank instructions
                                required:
                                  - depositType
                                  - qrCode
                                  - otp
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - GCASH
                                  qrCode:
                                    type: string
                                    description: QR code
                                  otp:
                                    type: string
                                    description: OTP for the transaction
                                  bankNotes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: number
                                          description: 'Type of note: -1 for warning, 1 for info'
                                        msg:
                                          type: string
                                          description: Message content
                                      required:
                                        - type
                                        - msg
                                    description: Additional bank instructions
                                required:
                                  - depositType
                                  - qrCode
                                  - otp
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - ARGENTINA_BANK_TRANSFER
                                  accountNumber:
                                    type: string
                                    description: Account number
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - accountNumber
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - ACH_US
                                  routingNumber:
                                    type: string
                                    description: US bank ABA routing number
                                  accountNumber:
                                    type: string
                                    description: US bank account number
                                  beneficiaryName:
                                    type: string
                                    description: Beneficiary name on the account
                                  bankName:
                                    type: string
                                    description: Name of the bank
                                  bankAddress:
                                    type: string
                                    description: Address of the bank
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names (e.g. ACH,
                                      Wire)
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount in USD
                                  referenceCode:
                                    type: string
                                    minLength: 1
                                    description: >-
                                      Reference code to include in the wire/ACH
                                      transfer
                                required:
                                  - depositType
                                  - routingNumber
                                  - accountNumber
                                  - beneficiaryName
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - ACH_PULL
                                required:
                                  - depositType
                                description: >-
                                  Funds are pulled from the holder's own linked
                                  US bank account; no transfer instructions
                                  apply
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - LOCALBANK
                                    description: >-
                                      Deprecated generic local-bank payin type.
                                      Superseded by the corridor-specific
                                      deposit types (e.g. SEPA, ACH_US,
                                      GBP_BANK_TRANSFER, CLABE/SPEI, PIX,
                                      ARGENTINA_BANK_TRANSFER,
                                      BANK_DEPOSIT_<CC>). Still returned on some
                                      corridors and on historical records, so
                                      integrators must continue to handle it.
                                      Discover the applicable per-currency
                                      method via GET
                                      /v1/currencies/{currency}/payin-schema.
                                    deprecated: true
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - GBP_BANK_TRANSFER
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: UK bank account number
                                  sortCode:
                                    type: string
                                    description: UK sort code
                                  bankName:
                                    type: string
                                    description: Name of the bank
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names (e.g. Faster
                                      Payments, CHAPS, BACS)
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount in GBP
                                  referenceCode:
                                    type: string
                                    minLength: 1
                                    description: Reference code to include in the transfer
                                required:
                                  - depositType
                                  - accountHolder
                                  - accountNumber
                                  - sortCode
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_COL
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_CL
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_BO
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_BR
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_NG
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_KE
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_GH
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_ZA
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_TZ
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_UG
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_RW
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_MW
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_ZM
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_BW
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_CD
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_XOF
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - BANK_DEPOSIT_XAF
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_NG
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_KE
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_GH
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_ZA
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_TZ
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_UG
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_RW
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_MW
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_ZM
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_BW
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_CD
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_XOF
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                              - type: object
                                properties:
                                  depositType:
                                    type: string
                                    enum:
                                      - MOBILE_MONEY_XAF
                                  accountHolder:
                                    type: string
                                    description: Account holder name
                                  accountNumber:
                                    type: string
                                    description: Local bank account number
                                  bankName:
                                    type: string
                                    description: Bank name
                                  bankCountry:
                                    type: string
                                    description: ISO-3166 country code
                                  routingCodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                          description: >-
                                            Routing code type (e.g.
                                            "routing_number", "sort_code")
                                        value:
                                          type: string
                                          description: Routing code value
                                      required:
                                        - type
                                        - value
                                    description: >-
                                      Routing identifiers (e.g. sort code,
                                      routing number)
                                  schemes:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted payment scheme names for this
                                      account
                                  amount:
                                    type: number
                                    minimum: 0
                                    description: Expected deposit amount
                                  referenceCode:
                                    type: string
                                    description: Reference code for the transfer
                                required:
                                  - depositType
                                  - amount
                                  - referenceCode
                            description: Details of the deposit
                            examples:
                              - accountHolder: John Doe
                                iban: DE8937XXXXXXXXXXXX3000
                                bic: COBADEFFXXX
                                bankName: Commerzbank
                                bankAddress: Mainzer Landstrasse 151-153
                                bankCity: Frankfurt
                                bankZipcode: '60327'
                                bankCountry: DE
                                amount: 1000
                                referenceCode: ABC123
                                depositType: SEPA
                          depositInfoPending:
                            type: boolean
                            description: >-
                              True while the payment instructions are still
                              being prepared. Poll this deposit until it is
                              false (or absent) before showing the instructions
                              to the payer.
                          complianceHold:
                            type: object
                            properties:
                              reason:
                                type: string
                                enum:
                                  - screening
                                  - fiat_monitoring
                                description: Compliance hold reason
                            required:
                              - reason
                            description: >-
                              Present while the inbound transfer funding this
                              deposit is held in provider compliance review. The
                              deposit stays Reviewing (amount 0, never credited)
                              until the hold clears (promote to Received) or the
                              transfer is rejected/returned (terminalize).
                        required:
                          - depositId
                          - createdAt
                          - expectedAmount
                          - amount
                          - currency
                          - fee
                          - expectedFee
                          - feeCurrency
                          - status
                          - depositInfo
                        description: Response schema for creating a deposit
                      - type: object
                        properties:
                          transferId:
                            type: string
                            description: Linked transfer ID
                          message:
                            type: string
                            description: Success or error message
                    description: Response schema for creating a deposit
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            Conflict — the transfer cannot be used in its current state: it is
            under review by the VirtuaBroker team (for example, pending name
            verification) or already linked to another order or deposit. The
            error message explains the specific reason.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/create-deposit",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "externalReference": "partner-ref-0001",
                  "userData": {
                    "userType": "individual",
                    "firstName": "John",
                    "lastName": "Doe",
                    "userEmail": "user@virtuabroker.com",
                    "address": "123 Main St, Anytown, ES",
                    "taxDocumentType": "CC",
                    "taxId": "123-45-6789",
                    "country": "ES",
                    "state": "Madrid",
                    "postalCode": "12345",
                    "city": "Madrid",
                    "dob": "1990-01-01",
                    "phoneNumber": "+447700900123",
                    "kycId": "kyc-12345",
                    "activity": "worker"
                  },
                  "userDataId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
                  "originCountry": "CI",
                  "originNetworkId": "3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f",
                  "amount": 100,
                  "currency": "USDC",
                  "rail": "BTC",
                  "transferId": "12345"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/create-deposit",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "externalReference": "partner-ref-0001",
                    "userData": {
                        "userType": "individual",
                        "firstName": "John",
                        "lastName": "Doe",
                        "userEmail": "user@virtuabroker.com",
                        "address": "123 Main St, Anytown, ES",
                        "taxDocumentType": "CC",
                        "taxId": "123-45-6789",
                        "country": "ES",
                        "state": "Madrid",
                        "postalCode": "12345",
                        "city": "Madrid",
                        "dob": "1990-01-01",
                        "phoneNumber": "+447700900123",
                        "kycId": "kyc-12345",
                        "activity": "worker"
                    },
                    "userDataId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
                    "originCountry": "CI",
                    "originNetworkId": "3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f",
                    "amount": 100,
                    "currency": "USDC",
                    "rail": "BTC",
                    "transferId": "12345"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/create-deposit"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "externalReference": "partner-ref-0001",
              "userData": {
                "userType": "individual",
                "firstName": "John",
                "lastName": "Doe",
                "userEmail": "user@virtuabroker.com",
                "address": "123 Main St, Anytown, ES",
                "taxDocumentType": "CC",
                "taxId": "123-45-6789",
                "country": "ES",
                "state": "Madrid",
                "postalCode": "12345",
                "city": "Madrid",
                "dob": "1990-01-01",
                "phoneNumber": "+447700900123",
                "kycId": "kyc-12345",
                "activity": "worker"
              },
              "userDataId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
              "originCountry": "CI",
              "originNetworkId": "3f9a1c7e-2b4d-4e8a-9c1f-0a1b2c3d4e5f",
              "amount": 100,
              "currency": "USDC",
              "rail": "BTC",
              "transferId": "12345"
            }'
  /v1/pending-payments/{transferId}/create-order:
    post:
      summary: Create an order from a pending transfer
      description: >-
        Creates a new order using an incoming transfer as the funding source.
        The transfer is automatically linked to the resulting order.
      tags:
        - Pending Payments
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
          required: true
          name: transferId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    quoteId:
                      type: string
                      format: uuid
                      description: The unique identifier of the created quote
                      examples:
                        - 123e4567-e89b-12d3-a456-426614174000
                        - 987f6543-a21c-45d6-b789-012345678901
                    accountId:
                      type: string
                      minLength: 1
                      description: >-
                        Execute the order on behalf of this managed customer
                        (the customerId from /v1/banking/customers). The
                        customer becomes the order origin — the party whose
                        balance/identity the movement belongs to. Must belong to
                        your workspace; a foreign or unknown id is rejected.
                      examples:
                        - jane.doe@example.com
                    destination:
                      type: object
                      properties:
                        contactId:
                          type: string
                          minLength: 1
                          description: >-
                            A saved contact of the on-behalf-of customer — the
                            party receiving the funds.
                        contactEmail:
                          type: string
                          minLength: 1
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: >-
                            Email identifying the receiving party (alternative
                            to contactId).
                        addressId:
                          type: string
                          minLength: 1
                          description: >-
                            A saved destination method (payout address) of the
                            on-behalf-of customer; its transfer details become
                            the payout destination.
                      additionalProperties: false
                      description: >-
                        Structured destination for on-behalf-of orders: pay out
                        to a managed contact and/or one of the customer saved
                        payout addresses. Requires accountId.
                    originCountry:
                      type: string
                      minLength: 2
                      maxLength: 2
                      description: >-
                        Collection country (ISO-3166 alpha-2) for a
                        multi-country payin currency (CFA zones). Must be a
                        valid collection country for the origin currency;
                        omitted ⇒ the default collection country is used.
                      examples:
                        - CI
                        - SN
                        - CM
                    userData:
                      oneOf:
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            lastName:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: >-
                                Last name of the user making the deposit (or
                                representative for business)
                              examples:
                                - Doe
                                - Smith
                                - Johnson
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - firstName
                            - userEmail
                            - country
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - business
                            businessName:
                              type: string
                              maxLength: 150
                              description: >-
                                Business name (required when userType is
                                business)
                              examples:
                                - Acme Corp
                                - Tech Solutions Inc
                                - Global Services Ltd
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - businessName
                            - firstName
                            - userEmail
                            - country
                      description: >-
                        Required when the quote origin is not BALANCE (payer).
                        If the payer email is new, include address, city,
                        postalCode, state, country, firstName, lastName, taxId,
                        kycId for deposit provisioning.
                    destinationUserData:
                      oneOf:
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - individual
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            lastName:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: >-
                                Last name of the user making the deposit (or
                                representative for business)
                              examples:
                                - Doe
                                - Smith
                                - Johnson
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - firstName
                            - userEmail
                            - country
                        - type: object
                          properties:
                            userType:
                              type: string
                              enum:
                                - business
                            businessName:
                              type: string
                              maxLength: 150
                              description: >-
                                Business name (required when userType is
                                business)
                              examples:
                                - Acme Corp
                                - Tech Solutions Inc
                                - Global Services Ltd
                            firstName:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: >-
                                First name of the user making the deposit (or
                                representative for business)
                              examples:
                                - John
                                - Alice
                                - Bob
                            userEmail:
                              type: string
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email of the user making the deposit
                              examples:
                                - user@virtuabroker.com
                                - john.doe@example.com
                                - alice@example.com
                            address:
                              type: string
                              maxLength: 150
                              description: Address of the user making the deposit
                              examples:
                                - 123 Main St, Anytown, ES
                                - 456 Elm St, Anytown, ES
                                - 789 Oak St, Anytown, ES
                            taxDocumentType:
                              type: string
                              maxLength: 50
                              description: >-
                                Tax document type of the user making the
                                deposit. Common values: DNI, NIE, PASSPORT, CC,
                                NIT, CE, NIF, but any string is accepted.
                              examples:
                                - CC
                                - NIT
                                - CE
                                - NIF
                                - Other
                            taxId:
                              type: string
                              maxLength: 30
                              description: Tax ID of the user making the deposit
                              examples:
                                - 123-45-6789
                                - 987-65-4321
                                - 111-22-3333
                            country:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country code of the user making the deposit
                              examples:
                                - ES
                                - US
                                - GB
                            state:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: State of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Postal code of the user making the deposit
                              examples:
                                - '12345'
                                - '67890'
                                - abcde
                            city:
                              type: string
                              minLength: 1
                              maxLength: 100
                              description: City of the user making the deposit
                              examples:
                                - Madrid
                                - New York
                                - London
                            dob:
                              type: string
                              minLength: 1
                              maxLength: 30
                              description: Date of birth of the user making the deposit
                              examples:
                                - '1990-01-01'
                                - '1995-05-15'
                                - '1988-12-31'
                            phoneNumber:
                              type: string
                              maxLength: 30
                              description: Phone number of the user making the deposit
                              examples:
                                - '+447700900123'
                                - '+447700900456'
                                - '+447700900789'
                            kycId:
                              type: string
                              minLength: 1
                              maxLength: 300
                              description: >-
                                KYC ID of the user making the deposit on your
                                platform (if the KYC is done by you, add the
                                url)
                              examples:
                                - kyc-12345
                                - kyc-67890
                                - kyc-abcde
                            activity:
                              type: string
                              description: Activity of the user making the deposit
                              examples:
                                - worker
                                - business
                                - student
                          required:
                            - userType
                            - businessName
                            - firstName
                            - userEmail
                            - country
                      description: >-
                        User data of the person/company that will receive the
                        funds
                    destinationTransferData:
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BALANCE
                          required:
                            - type
                          description: Balance transfer details
                          title: Balance
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            iban:
                              type: string
                              description: IBAN number
                            bic:
                              type: string
                              description: BIC number (optional)
                            country:
                              type: string
                              description: Country code
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for SEPA payouts
                                — provide it here or in
                                destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for SEPA
                                payouts — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as the payout beneficiary
                                `address.line1` when registering the
                                beneficiary. Stored on the saved transaction
                                method so the user does not have to re-supply it
                                on every withdraw.
                            type:
                              type: string
                              enum:
                                - SEPA
                          required:
                            - destinationName
                            - iban
                            - country
                            - type
                          description: SEPA transfer details
                          title: SEPA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: UK bank account number
                            sortCode:
                              type: string
                              description: UK sort code
                            country:
                              type: string
                              enum:
                                - GB
                              default: GB
                              description: >-
                                ISO 3166 country code of the recipient (GBP
                                transfer is UK-based)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - GBP_BANK_TRANSFER
                          required:
                            - destinationName
                            - accountNumber
                            - sortCode
                            - type
                          description: GBP domestic bank transfer details
                          title: BankDepositGB
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            accountNumber:
                              type: string
                              description: US bank account number
                            routingNumber:
                              type: string
                              description: US ABA routing number
                            country:
                              type: string
                              enum:
                                - US
                              default: US
                              description: >-
                                ISO 3166 country code of the recipient (ACH is
                                US-domestic)
                            accountType:
                              type: string
                              enum:
                                - PERSONAL
                                - BUSINESS
                              default: PERSONAL
                              description: Account type (optional)
                            bankAccountType:
                              type: string
                              enum:
                                - CHECKING
                                - SAVINGS
                              default: CHECKING
                              description: >-
                                Kind of bank account the payout lands in.
                                Defaults to CHECKING when omitted.
                            city:
                              type: string
                              description: >-
                                City of the recipient. REQUIRED for this rail —
                                provide it here or in destinationUserData.city.
                            postalCode:
                              type: string
                              description: >-
                                Postal code of the recipient. REQUIRED for this
                                rail — provide it here or in
                                destinationUserData.postalCode.
                            state:
                              type: string
                              pattern: ^[A-Z]{2}$
                              description: >-
                                Two-letter US state code of the recipient (e.g.
                                NY). REQUIRED for this rail.
                            address:
                              type: string
                              description: >-
                                Street address (line 1) of the recipient.
                                Forwarded as payee address when creating the
                                payee.
                            type:
                              type: string
                              enum:
                                - ACH_US
                          required:
                            - destinationName
                            - accountNumber
                            - routingNumber
                            - state
                            - type
                          description: USD ACH transfer details
                          title: AchUS
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - linkedBankAccount
                            accountLinkId:
                              type: string
                              pattern: ^alnk_[0-9a-f]{24}$
                              description: >-
                                Identifier of one of the account holder own
                                linked bank accounts
                              examples:
                                - alnk_0123456789abcdef01234567
                          required:
                            - type
                            - accountLinkId
                          description: >-
                            A bank account the account holder linked beforehand.
                            Pays out only to the holder of the order; never to a
                            third party. Not available yet.
                          title: LinkedBankAccount
                          deprecated: true
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ETH
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ETH destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ETH
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - MATIC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: MATIC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: MATIC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOL
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOL destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOL
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - TRON
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: TRON destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: TRON
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CELO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CELO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: CELO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BTC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BTC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: BTC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SOLANA
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: SOLANA destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: SOLANA
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - XRP
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: XRP destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: XRP
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - CARDANO
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: CARDANO destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: \S
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: \S
                          title: CARDANO
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BSC
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BSC destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BSC
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ARBITRUM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: ARBITRUM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: ARBITRUM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - OPTIMISM
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: OPTIMISM destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: OPTIMISM
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - AVALANCHE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: AVALANCHE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: AVALANCHE
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - BASE
                            address:
                              type: string
                              description: >-
                                Destination wallet address. Send this rather
                                than the legacy `destinationWalletAddress` — at
                                least one of the two is required, and a payload
                                carrying neither is rejected. On EVM chains the
                                address is "0x" followed by 40 hex characters.
                            memo:
                              type: string
                              description: Memo for the wallet, when the chain uses one
                            txId:
                              type: string
                              description: Blockchain transaction ID
                            txUrlScan:
                              type: string
                              description: Blockchain explorer URL for the transaction
                            destinationWalletAddress:
                              type: string
                              description: >-
                                Destination wallet address (legacy shape). Still
                                accepted, but send `address` instead — at least
                                one of the two is required and supplying neither
                                is rejected.
                            destinationWalletMemo:
                              type: string
                              description: >-
                                Memo for the wallet (legacy shape) — send `memo`
                                instead
                            destinationNetwork:
                              type: string
                              description: >-
                                Network name, when the corridor addresses the
                                chain by name rather than by `type`
                            destinationNetworkId:
                              type: string
                              description: >-
                                Network id from GET
                                /v1/currencies/{currency}/networks, for
                                corridors where `supportsNetworkDiscovery` is
                                true
                            destinationCurrencySymbol:
                              type: string
                              description: >-
                                Asset symbol on the chain. `type` names the
                                chain, so this is what separates the native coin
                                from tokens on it — ETH from USDC-on-Ethereum.
                          required:
                            - type
                          description: BASE destination details
                          anyOf:
                            - required:
                                - address
                              properties:
                                address:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                            - required:
                                - destinationWalletAddress
                              properties:
                                destinationWalletAddress:
                                  pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                          title: BASE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/COP/networks. Not read by the
                                payout; retained for the network selector and
                                for stored records.
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_COL
                            destinationBankCode:
                              type: string
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                (the code, not the name).
                            destinationBankAccountType:
                              type: string
                              description: Bank account type — CORRIENTE or AHORRO.
                            destinationTaxId:
                              type: string
                              description: Recipient ID document number.
                            destinationDocumentType:
                              type: string
                              description: >-
                                Recipient ID document type — CC, CE, NIT, TI or
                                PP.
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                            - destinationBankCode
                            - destinationBankAccountType
                            - destinationDocumentType
                            - destinationTaxId
                          description: >-
                            Colombian bank deposit details. Equivalent to
                            ACH_COP — same payout rail, same required fields,
                            same bank roster; ACH_COP is recommended for new
                            integrations. Note that BANK_DEPOSIT_COL is also the
                            name of a COP collection rail.
                          title: Bank Deposit COL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            brebKey:
                              type: string
                              minLength: 1
                              description: >-
                                Bre-B key (llave) that identifies the recipient
                                account
                            email:
                              type: string
                              description: >-
                                Recipient email (optional contact for the Bre-B
                                rail)
                            destinationPhoneNumber:
                              type: string
                              description: >-
                                Recipient phone number (optional contact for the
                                Bre-B rail)
                            type:
                              type: string
                              enum:
                                - BRE_B_COP
                          required:
                            - destinationName
                            - brebKey
                            - type
                          description: Colombian Bre-B payout details
                          title: Bre-B COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{4}$
                              description: >-
                                Recipient bank code — one of the 4-digit codes
                                published by GET
                                /v1/currencies/COP/destination-schema?method=achCOP
                                (the code, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              description: Recipient bank account number
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: Bank account type (e.g. AHORROS / CORRIENTE)
                            destinationDocumentType:
                              type: string
                              minLength: 1
                              description: Recipient ID document type (e.g. CC / CE / NIT)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: Recipient ID document number
                            type:
                              type: string
                              enum:
                                - ACH_COP
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationDocumentType
                            - destinationTaxId
                            - type
                          description: Colombian ACH payout details
                          title: ACH COP
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for TWD — no network
                                discovery)
                            destinationBankName:
                              type: string
                              minLength: 2
                              description: >-
                                Bank name (required — TWD payouts run over
                                SWIFT)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TW
                            destinationBankBranch:
                              type: string
                              minLength: 2
                              description: >-
                                Bank branch (required — TWD payouts run over
                                SWIFT)
                            bic:
                              type: string
                              pattern: >-
                                ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                              description: SWIFT BIC code (required for TWD payouts)
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient (legacy, optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankBranch
                            - bic
                          description: Taiwan bank deposit details (SWIFT payout)
                          title: Bank Deposit TW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankBranch:
                              type: string
                              description: Bank branch
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BR
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccount
                            - destinationBankBranch
                            - destinationTaxId
                            - type
                          description: Brazilian bank deposit details
                          title: Bank Deposit BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPixCode:
                              type: string
                              description: PIX code
                            destinationTaxId:
                              type: string
                              description: Tax ID of the recipient
                            type:
                              type: string
                              enum:
                                - PIX_BR
                          required:
                            - destinationName
                            - destinationPixCode
                            - destinationTaxId
                            - type
                          description: Brazilian PIX details
                          title: PIX BR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number
                            destinationBankName:
                              type: string
                              description: Name of the bank
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - destinationBankName
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan bank deposit details
                          title: Bank Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                              description: Tax ID of the recipient
                            destinationBankAccountType:
                              type: string
                              description: Type of bank account
                            type:
                              type: string
                              enum:
                                - PHONE_DEPOSIT_VEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationPhoneNumber
                            - destinationTaxId
                            - destinationBankAccountType
                            - type
                          description: Venezuelan phone deposit details
                          title: Phone Deposit VEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_IN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - IMPS
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            India IMPS details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: IMPS
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - THAI_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Thailand Thai QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Thai QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - VIET_QR
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Vietnam Viet QR details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Viet QR
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationIFSC:
                              type: string
                              description: IFSC code
                            type:
                              type: string
                              enum:
                                - GCASH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Philippines GCash details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: GCash
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationTaxId:
                              type: string
                              description: Tax ID
                            type:
                              type: string
                              enum:
                                - MOBILE_PAYMENT_IN
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - destinationTaxId
                            - type
                          description: >-
                            India mobile payment details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Payment IN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              description: Bank code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_VN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - type
                          description: >-
                            Vietnam bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit VN
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            bic:
                              type: string
                              description: >-
                                SWIFT BIC code (required for HKD payouts via the
                                HK bank corridor)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city (defaults to Hong Kong)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_HK
                          required:
                            - destinationName
                            - destinationBankAccount
                            - bic
                            - destinationBankName
                            - destinationAddress
                            - type
                          description: Hong Kong bank deposit details (HKD bank corridor)
                          title: Bank Deposit HK
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationBankCode:
                              type: string
                              pattern: ^\d+$
                              description: >-
                                CNAPS / bank institution code (numeric, variable
                                length)
                            destinationBankName:
                              type: string
                              description: Bank name
                            destinationAddress:
                              type: string
                              description: Address line 1 of the recipient
                            destinationCity:
                              type: string
                              description: Recipient city
                            destinationState:
                              type: string
                              minLength: 1
                              description: >-
                                Province / state of the recipient (required for
                                CN — the beneficiary is rejected in compliance
                                review without it)
                            destinationPostcode:
                              type: string
                              minLength: 1
                              description: >-
                                Postal code of the recipient (required for CN —
                                the beneficiary is rejected in compliance review
                                without it)
                            destinationPhone:
                              type: string
                              description: >-
                                Phone number of the recipient, without country
                                prefix (optional; defaulted for CN when omitted)
                            destinationTaxId:
                              type: string
                              description: >-
                                Unified Social Credit Code (USCC, GB 32100-2015)
                                of the recipient company — 18 characters
                                including the check digit; whitespace is removed
                                and letters are normalized to uppercase
                                (optional)
                            accountHolderName:
                              type: string
                              description: Bank account holder name if different from payee
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CN
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankCode
                            - destinationBankName
                            - destinationAddress
                            - destinationCity
                            - destinationState
                            - destinationPostcode
                            - type
                          description: >-
                            China mainland bank deposit details (CNY bank
                            corridor)
                          title: Bank Deposit CN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/ARS/networks (the network
                                selector, optional)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_AR
                            destinationCBU:
                              type: string
                              description: >-
                                CBU — 22-digit bank account key (legacy,
                                optional)
                            destinationCVU:
                              type: string
                              description: >-
                                CVU — 22-digit virtual account key (legacy,
                                optional)
                            destinationAlias:
                              type: string
                              description: Account alias (legacy, optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                CUIT/CUIL tax ID of the recipient (required when
                                creating ARS bank destinations): exactly 11
                                digits with no hyphens, spaces or other
                                characters, and a valid check digit (e.g.
                                20000000001)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                            - destinationTaxId
                          description: Argentinian bank deposit details
                          title: Bank Deposit AR
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              minLength: 1
                              description: >-
                                Recipient bank name (required for Chilean bank
                                payouts)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CL
                            destinationBankAccountType:
                              type: string
                              minLength: 1
                              description: >-
                                Account type — corriente or ahorro (required for
                                Chilean bank payouts)
                            destinationTaxId:
                              type: string
                              minLength: 1
                              description: >-
                                RUT tax ID of the recipient (required for
                                Chilean bank payouts)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationBankName
                            - type
                            - destinationBankAccountType
                            - destinationTaxId
                          description: Chilean bank deposit details
                          title: Bank Deposit CL
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              minLength: 2
                              maxLength: 30
                              description: Recipient name (required, 2–30 characters)
                            destinationBankAccount:
                              type: string
                              minLength: 1
                              maxLength: 11
                              description: >-
                                Bank account number (max 11 digits for Bolivian
                                accounts)
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (unused for BOB — no network
                                discovery)
                            destinationBankName:
                              type: string
                              maxLength: 20
                              description: Bank name (optional, max 20 characters)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BO
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 15
                              description: >-
                                NIT tax ID of the recipient (required for
                                Bolivian payouts)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                            - destinationTaxId
                          description: Bolivian bank deposit details
                          title: Bank Deposit BO
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id from GET
                                /v1/currencies/PEN/networks (the network
                                selector)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PE
                            destinationCCI:
                              type: string
                              description: >-
                                CCI — 20-digit interbank account code (legacy,
                                optional)
                            destinationBankAccountType:
                              type: string
                              description: >-
                                Account type (corriente/ahorro) (legacy,
                                optional)
                            destinationTaxId:
                              type: string
                              description: >-
                                DNI/RUC document ID of the recipient (legacy,
                                optional)
                            destinationDocumentType:
                              type: string
                              description: >-
                                Document type of the recipient (legacy,
                                optional)
                          required:
                            - destinationName
                            - destinationBankAccount
                            - destinationNetworkId
                            - type
                          description: >-
                            Peruvian bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit PE
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              pattern: ^\d{3}$
                              description: >-
                                Recipient bank code (the 3-digit code the rail
                                expects, not the name)
                            destinationBankAccountNumber:
                              type: string
                              minLength: 1
                              maxLength: 20
                              description: Recipient bank account number (max 20)
                            destinationBankAccountType:
                              type: string
                              enum:
                                - CORRIENTE
                                - AHORROS
                                - PHONE
                              description: Bank account type
                            destinationCCI:
                              type: string
                              pattern: ^\d{1,20}$
                              description: >-
                                CCI — Peruvian interbank code (required, digits
                                only, max 20)
                            destinationDocumentType:
                              type: string
                              enum:
                                - CC
                                - CE
                                - RUC
                                - PAS
                                - PAR
                                - LMI
                                - OTHER
                              description: Recipient identification type
                            destinationTaxId:
                              type: string
                              minLength: 1
                              maxLength: 50
                              description: Recipient identification number (max 50)
                            email:
                              type: string
                              pattern: ^.+@.+\..+$
                              description: Recipient email (required for PEN payouts)
                            destinationPhoneNumber:
                              type: string
                              pattern: ^\d{1,9}$
                              description: Recipient phone number (required, max 9 digits)
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_PEN
                          required:
                            - destinationName
                            - destinationBankCode
                            - destinationBankAccountNumber
                            - destinationBankAccountType
                            - destinationCCI
                            - destinationDocumentType
                            - destinationTaxId
                            - email
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Peruvian bank deposit details (bank-code payout
                            corridor).
                          title: Bank Deposit PEN
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_NG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Nigeria bank deposit details
                          title: Bank Deposit NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_KE
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Kenya bank deposit details
                          title: Bank Deposit KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_GH
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            Ghana bank deposit details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Bank Deposit GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZA
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: South Africa bank deposit details
                          title: Bank Deposit ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TZ
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Tanzania bank deposit details
                          title: Bank Deposit TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_UG
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Uganda bank deposit details
                          title: Bank Deposit UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_RW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Rwanda bank deposit details
                          title: Bank Deposit RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Malawi bank deposit details
                          title: Bank Deposit MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZM
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Zambia bank deposit details
                          title: Bank Deposit ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BW
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Botswana bank deposit details
                          title: Bank Deposit BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CD
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: >-
                            DR Congo bank deposit details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Bank Deposit CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XOF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: West African CFA bank deposit details
                          title: Bank Deposit XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankAccount:
                              type: string
                              description: Bank account
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationBankName is given)
                            destinationBankName:
                              type: string
                              description: >-
                                Bank name (used to resolve the network when id
                                is omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XAF
                          required:
                            - destinationName
                            - destinationBankAccount
                            - type
                          description: Central African CFA bank deposit details
                          title: Bank Deposit XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_NG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Nigeria mobile money details
                          title: Mobile Money NG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_KE
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Kenya mobile money details
                          title: Mobile Money KE
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_GH
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            Ghana mobile money details. Deprecated — no active
                            payout corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: Mobile Money GH
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZA
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: South Africa mobile money details
                          title: Mobile Money ZA
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_TZ
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Tanzania mobile money details
                          title: Mobile Money TZ
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_UG
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Uganda mobile money details
                          title: Mobile Money UG
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_RW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Rwanda mobile money details
                          title: Mobile Money RW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_MW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Malawi mobile money details
                          title: Mobile Money MW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZM
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Zambia mobile money details
                          title: Mobile Money ZM
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_BW
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Botswana mobile money details
                          title: Mobile Money BW
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_CD
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: >-
                            DR Congo mobile money details. Deprecated — no
                            active payout corridor for this method; orders using
                            it are rejected. Retained for backward compatibility
                            with stored destinations.
                          title: Mobile Money CD
                          deprecated: true
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XOF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: West African CFA mobile money details
                          title: Mobile Money XOF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPhoneNumber:
                              type: string
                              description: Phone number
                            destinationNetworkId:
                              type: string
                              description: >-
                                Payout network id (optional if
                                destinationNetworkName is given)
                            destinationNetworkName:
                              type: string
                              description: >-
                                Mobile money network name (resolves the network
                                when id omitted)
                            country:
                              type: string
                              description: ISO 3166 country code
                            type:
                              type: string
                              enum:
                                - MOBILE_MONEY_XAF
                          required:
                            - destinationName
                            - destinationPhoneNumber
                            - type
                          description: Central African CFA mobile money details
                          title: Mobile Money XAF
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationBankCode:
                              type: string
                              description: Bank code
                            destinationBankAccountNumber:
                              type: string
                              description: Bank account number (18-digit CLABE)
                            numericReference:
                              type: string
                              description: Numeric reference
                            notesReference:
                              type: string
                              description: Notes reference
                            destinationClabe:
                              type: string
                              description: >-
                                CLABE — legacy alias, prefer
                                destinationBankAccountNumber
                            destinationTaxId:
                              type: string
                              description: >-
                                Recipient tax id (RFC) — required by some MX
                                bank-deposit rails ("Número de Identificación");
                                optional otherwise
                            type:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MX
                          required:
                            - destinationName
                            - destinationBankAccountNumber
                            - type
                          description: Mexican bank deposit details
                          title: Bank Deposit MX
                        - type: object
                          properties:
                            destinationName:
                              type: string
                              description: Name of the recipient
                            destinationPseNumber:
                              type: string
                              description: PSE number
                            type:
                              type: string
                              enum:
                                - PSE
                          required:
                            - destinationName
                            - destinationPseNumber
                            - type
                          description: >-
                            PSE transfer details. Deprecated — no active payout
                            corridor for this method; orders using it are
                            rejected. Retained for backward compatibility with
                            stored destinations.
                          title: PSE
                          deprecated: true
                      description: >-
                        The details required for the end user destination
                        transfer method.
                    externalReference:
                      type: string
                      description: >-
                        Your own reference for this order, echoed back on the
                        order object
                      examples:
                        - order-2026-000123
                    integrationSessionId:
                      type: string
                      pattern: ^int_[A-Za-z0-9]{16}$
                      description: Integration session ID for partner attribution tracking
                      examples:
                        - int_a1B2c3D4e5F6g7H8
                    tradeDetails:
                      type: object
                      properties:
                        businessType:
                          type: string
                          enum:
                            - GOODS_TRADE
                        contractNo:
                          type: string
                          minLength: 1
                        website:
                          type: string
                          format: uri
                        products:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                minLength: 1
                              quantity:
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                              unit:
                                type: string
                                minLength: 1
                              category:
                                type: string
                                minLength: 1
                            required:
                              - name
                              - quantity
                              - unit
                            additionalProperties: false
                          minItems: 1
                      required:
                        - businessType
                        - contractNo
                        - products
                      additionalProperties: false
                      description: >-
                        Trade context for regulated payout corridors that
                        require a transaction document (e.g. CNY SAFE
                        compliance): goods/services type, contract number, and
                        itemised product list. Collected at order creation for
                        bank-deposit CN orders.
                  required:
                    - quoteId
                  additionalProperties: false
                  description: >-
                    Create an order from a quote. userData (payer) is required
                    unless the quote uses origin rail BALANCE.
                  title: Create Order with User Data
                - type: object
                  properties:
                    transferId:
                      type: string
                      description: >-
                        Transfer ID without provider prefix (from path
                        parameter)
                      example: '12345'
                    quoteId:
                      type: string
                      description: >-
                        Quote ID (required for order creation, from request
                        body)
                      example: QUOTE123
                  required:
                    - transferId
                    - quoteId
      responses:
        '200':
          description: Order created and transfer linked
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    allOf:
                      - type: object
                        properties:
                          orderId:
                            type: string
                            description: ID of the order
                            examples:
                              - 01CLFXMT67II
                              - 2R7E5Y5KFXP8
                              - 4FWWRE3Y2URM
                          deposit:
                            type: object
                            properties:
                              depositId:
                                type: string
                                minLength: 1
                                description: >-
                                  ID of the deposit. Normally a 12-character
                                  internal id; deposits created before mid-2026
                                  may carry a longer legacy id. Treat it as an
                                  opaque string.
                              externalReference:
                                type: string
                                minLength: 1
                                maxLength: 128
                                description: >-
                                  Your own reference for this deposit. Stored
                                  as-is and returned on create, detail and list,
                                  so you can look the deposit up by it after a
                                  network timeout instead of retrying blind. Not
                                  interpreted by VirtuaBroker and not shown to
                                  the payer — for the payer's transfer reference
                                  use depositInfo.referenceCode.
                                examples:
                                  - partner-ref-0001
                                  - inv_2026_00417
                              userData:
                                oneOf:
                                  - type: object
                                    properties:
                                      userType:
                                        type: string
                                        enum:
                                          - individual
                                      firstName:
                                        type: string
                                        minLength: 1
                                        maxLength: 50
                                        description: >-
                                          First name of the user making the
                                          deposit (or representative for business)
                                        examples:
                                          - John
                                          - Alice
                                          - Bob
                                      lastName:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: >-
                                          Last name of the user making the deposit
                                          (or representative for business)
                                        examples:
                                          - Doe
                                          - Smith
                                          - Johnson
                                      userEmail:
                                        type: string
                                        maxLength: 254
                                        format: email
                                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                        description: Email of the user making the deposit
                                        examples:
                                          - user@virtuabroker.com
                                          - john.doe@example.com
                                          - alice@example.com
                                      address:
                                        type: string
                                        maxLength: 150
                                        description: Address of the user making the deposit
                                        examples:
                                          - 123 Main St, Anytown, ES
                                          - 456 Elm St, Anytown, ES
                                          - 789 Oak St, Anytown, ES
                                      taxDocumentType:
                                        type: string
                                        maxLength: 50
                                        description: >-
                                          Tax document type of the user making the
                                          deposit. Common values: DNI, NIE,
                                          PASSPORT, CC, NIT, CE, NIF, but any
                                          string is accepted.
                                        examples:
                                          - CC
                                          - NIT
                                          - CE
                                          - NIF
                                          - Other
                                      taxId:
                                        type: string
                                        maxLength: 30
                                        description: Tax ID of the user making the deposit
                                        examples:
                                          - 123-45-6789
                                          - 987-65-4321
                                          - 111-22-3333
                                      country:
                                        type: string
                                        enum:
                                          - US
                                          - CA
                                          - GB
                                          - DE
                                          - FR
                                          - AU
                                          - JP
                                          - KR
                                          - SE
                                          - 'NO'
                                          - DK
                                          - FI
                                          - NL
                                          - BE
                                          - CH
                                          - AT
                                          - NZ
                                          - SG
                                          - IE
                                          - LU
                                          - PT
                                          - ES
                                          - IT
                                          - GR
                                          - CZ
                                          - PL
                                          - HU
                                          - SK
                                          - SI
                                          - EE
                                          - LT
                                          - LV
                                          - IS
                                          - MT
                                          - CY
                                          - HR
                                          - RO
                                          - BG
                                          - BR
                                          - AR
                                          - CL
                                          - MX
                                          - CO
                                          - PE
                                          - PA
                                          - UY
                                          - BO
                                          - ZA
                                          - NG
                                          - KE
                                          - GH
                                          - TZ
                                          - UG
                                          - RW
                                          - MW
                                          - ZM
                                          - BW
                                          - CD
                                          - CI
                                          - CM
                                          - IL
                                          - AE
                                          - QA
                                          - SA
                                          - OM
                                          - KW
                                          - BH
                                          - MY
                                          - PH
                                          - TH
                                          - VN
                                          - ID
                                          - IN
                                          - LK
                                          - NP
                                          - BD
                                          - PK
                                          - EG
                                          - MA
                                          - DZ
                                          - TN
                                          - JO
                                          - LB
                                          - TR
                                          - KH
                                          - MM
                                          - LA
                                          - EN
                                          - BT
                                          - VE
                                          - TW
                                          - HK
                                          - CN
                                        description: >-
                                          Country code of the user making the
                                          deposit
                                        examples:
                                          - ES
                                          - US
                                          - GB
                                      state:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: State of the user making the deposit
                                        examples:
                                          - Madrid
                                          - New York
                                          - London
                                      postalCode:
                                        type: string
                                        minLength: 1
                                        maxLength: 30
                                        description: >-
                                          Postal code of the user making the
                                          deposit
                                        examples:
                                          - '12345'
                                          - '67890'
                                          - abcde
                                      city:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: City of the user making the deposit
                                        examples:
                                          - Madrid
                                          - New York
                                          - London
                                      dob:
                                        type: string
                                        minLength: 1
                                        maxLength: 30
                                        description: >-
                                          Date of birth of the user making the
                                          deposit
                                        examples:
                                          - '1990-01-01'
                                          - '1995-05-15'
                                          - '1988-12-31'
                                      phoneNumber:
                                        type: string
                                        maxLength: 30
                                        description: >-
                                          Phone number of the user making the
                                          deposit
                                        examples:
                                          - '+447700900123'
                                          - '+447700900456'
                                          - '+447700900789'
                                      kycId:
                                        type: string
                                        minLength: 1
                                        maxLength: 300
                                        description: >-
                                          KYC ID of the user making the deposit on
                                          your platform (if the KYC is done by
                                          you, add the url)
                                        examples:
                                          - kyc-12345
                                          - kyc-67890
                                          - kyc-abcde
                                      activity:
                                        type: string
                                        description: Activity of the user making the deposit
                                        examples:
                                          - worker
                                          - business
                                          - student
                                    required:
                                      - userType
                                      - firstName
                                      - userEmail
                                      - country
                                  - type: object
                                    properties:
                                      userType:
                                        type: string
                                        enum:
                                          - business
                                      businessName:
                                        type: string
                                        maxLength: 150
                                        description: >-
                                          Business name (required when userType is
                                          business)
                                        examples:
                                          - Acme Corp
                                          - Tech Solutions Inc
                                          - Global Services Ltd
                                      firstName:
                                        type: string
                                        minLength: 1
                                        maxLength: 50
                                        description: >-
                                          First name of the user making the
                                          deposit (or representative for business)
                                        examples:
                                          - John
                                          - Alice
                                          - Bob
                                      userEmail:
                                        type: string
                                        maxLength: 254
                                        format: email
                                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                        description: Email of the user making the deposit
                                        examples:
                                          - user@virtuabroker.com
                                          - john.doe@example.com
                                          - alice@example.com
                                      address:
                                        type: string
                                        maxLength: 150
                                        description: Address of the user making the deposit
                                        examples:
                                          - 123 Main St, Anytown, ES
                                          - 456 Elm St, Anytown, ES
                                          - 789 Oak St, Anytown, ES
                                      taxDocumentType:
                                        type: string
                                        maxLength: 50
                                        description: >-
                                          Tax document type of the user making the
                                          deposit. Common values: DNI, NIE,
                                          PASSPORT, CC, NIT, CE, NIF, but any
                                          string is accepted.
                                        examples:
                                          - CC
                                          - NIT
                                          - CE
                                          - NIF
                                          - Other
                                      taxId:
                                        type: string
                                        maxLength: 30
                                        description: Tax ID of the user making the deposit
                                        examples:
                                          - 123-45-6789
                                          - 987-65-4321
                                          - 111-22-3333
                                      country:
                                        type: string
                                        enum:
                                          - US
                                          - CA
                                          - GB
                                          - DE
                                          - FR
                                          - AU
                                          - JP
                                          - KR
                                          - SE
                                          - 'NO'
                                          - DK
                                          - FI
                                          - NL
                                          - BE
                                          - CH
                                          - AT
                                          - NZ
                                          - SG
                                          - IE
                                          - LU
                                          - PT
                                          - ES
                                          - IT
                                          - GR
                                          - CZ
                                          - PL
                                          - HU
                                          - SK
                                          - SI
                                          - EE
                                          - LT
                                          - LV
                                          - IS
                                          - MT
                                          - CY
                                          - HR
                                          - RO
                                          - BG
                                          - BR
                                          - AR
                                          - CL
                                          - MX
                                          - CO
                                          - PE
                                          - PA
                                          - UY
                                          - BO
                                          - ZA
                                          - NG
                                          - KE
                                          - GH
                                          - TZ
                                          - UG
                                          - RW
                                          - MW
                                          - ZM
                                          - BW
                                          - CD
                                          - CI
                                          - CM
                                          - IL
                                          - AE
                                          - QA
                                          - SA
                                          - OM
                                          - KW
                                          - BH
                                          - MY
                                          - PH
                                          - TH
                                          - VN
                                          - ID
                                          - IN
                                          - LK
                                          - NP
                                          - BD
                                          - PK
                                          - EG
                                          - MA
                                          - DZ
                                          - TN
                                          - JO
                                          - LB
                                          - TR
                                          - KH
                                          - MM
                                          - LA
                                          - EN
                                          - BT
                                          - VE
                                          - TW
                                          - HK
                                          - CN
                                        description: >-
                                          Country code of the user making the
                                          deposit
                                        examples:
                                          - ES
                                          - US
                                          - GB
                                      state:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: State of the user making the deposit
                                        examples:
                                          - Madrid
                                          - New York
                                          - London
                                      postalCode:
                                        type: string
                                        minLength: 1
                                        maxLength: 30
                                        description: >-
                                          Postal code of the user making the
                                          deposit
                                        examples:
                                          - '12345'
                                          - '67890'
                                          - abcde
                                      city:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: City of the user making the deposit
                                        examples:
                                          - Madrid
                                          - New York
                                          - London
                                      dob:
                                        type: string
                                        minLength: 1
                                        maxLength: 30
                                        description: >-
                                          Date of birth of the user making the
                                          deposit
                                        examples:
                                          - '1990-01-01'
                                          - '1995-05-15'
                                          - '1988-12-31'
                                      phoneNumber:
                                        type: string
                                        maxLength: 30
                                        description: >-
                                          Phone number of the user making the
                                          deposit
                                        examples:
                                          - '+447700900123'
                                          - '+447700900456'
                                          - '+447700900789'
                                      kycId:
                                        type: string
                                        minLength: 1
                                        maxLength: 300
                                        description: >-
                                          KYC ID of the user making the deposit on
                                          your platform (if the KYC is done by
                                          you, add the url)
                                        examples:
                                          - kyc-12345
                                          - kyc-67890
                                          - kyc-abcde
                                      activity:
                                        type: string
                                        description: Activity of the user making the deposit
                                        examples:
                                          - worker
                                          - business
                                          - student
                                    required:
                                      - userType
                                      - businessName
                                      - firstName
                                      - userEmail
                                      - country
                                description: >-
                                  User data of the person/company making the
                                  deposit
                                examples:
                                  - userType: individual
                                    firstName: John
                                    lastName: Doe
                                    userEmail: user@virtuabroker.com
                                    address: 123 Main St, Anytown, ES
                                    taxId: 123-45-6789
                                    country: ES
                                  - userType: individual
                                    firstName: Alice
                                    lastName: Smith
                                    userEmail: alice@example.com
                                    address: 456 Elm St, Anytown, ES
                                    taxId: 987-65-4321
                                    country: ES
                              createdAt:
                                type: number
                                description: Creation time of the deposit
                                examples:
                                  - 1723027132
                                  - 1723027133
                                  - 1723027134
                              rail:
                                type: string
                                enum:
                                  - BALANCE
                                  - SEPA
                                  - BTC
                                  - ETH
                                  - MATIC
                                  - POLYGON
                                  - CELO
                                  - TRON
                                  - SOLANA
                                  - ARBITRUM
                                  - OPTIMISM
                                  - AVALANCHE
                                  - BSC
                                  - BASE
                                  - XRP
                                  - PIX_BR
                                  - UPI
                                  - IMPS
                                  - TRY_BANK_TRANSFER
                                  - AED_BANK_TRANSFER
                                  - SPEI
                                  - IDR_BANK_TRANSFER
                                  - CREDIT_CARD
                                  - THAI_QR
                                  - VIET_QR
                                  - GCASH
                                  - ARGENTINA_BANK_TRANSFER
                                  - PSE
                                  - CLABE
                                  - PIX
                                  - BANK_DEPOSIT_COL
                                  - BANK_DEPOSIT_AR
                                  - BANK_DEPOSIT_CL
                                  - BANK_DEPOSIT_PE
                                  - BANK_DEPOSIT_BO
                                  - BANK_DEPOSIT_BR
                                  - BANK_DEPOSIT_NG
                                  - BANK_DEPOSIT_KE
                                  - BANK_DEPOSIT_GH
                                  - BANK_DEPOSIT_ZA
                                  - BANK_DEPOSIT_TZ
                                  - BANK_DEPOSIT_UG
                                  - BANK_DEPOSIT_RW
                                  - BANK_DEPOSIT_MW
                                  - BANK_DEPOSIT_ZM
                                  - BANK_DEPOSIT_BW
                                  - BANK_DEPOSIT_CD
                                  - BANK_DEPOSIT_XOF
                                  - BANK_DEPOSIT_XAF
                                  - MOBILE_MONEY_NG
                                  - MOBILE_MONEY_KE
                                  - MOBILE_MONEY_GH
                                  - MOBILE_MONEY_ZA
                                  - MOBILE_MONEY_TZ
                                  - MOBILE_MONEY_UG
                                  - MOBILE_MONEY_RW
                                  - MOBILE_MONEY_MW
                                  - MOBILE_MONEY_ZM
                                  - MOBILE_MONEY_BW
                                  - MOBILE_MONEY_CD
                                  - MOBILE_MONEY_XOF
                                  - MOBILE_MONEY_XAF
                                  - ACH_US
                                  - GBP_BANK_TRANSFER
                                description: Rail of the deposit
                              receivedAt:
                                type: number
                                description: >-
                                  Unix ms timestamp of when the funds for this
                                  deposit ARRIVED — recorded when the incoming
                                  payment is matched to the deposit, which is
                                  before it is credited. Present whenever funds
                                  have arrived, including a deposit whose funds
                                  are still held in review; omitted entirely
                                  when no funds ever arrived, so a never-funded
                                  or cancelled deposit has no value here and its
                                  presence is a reliable settlement signal for
                                  reconciliation. Identical on GET /v1/deposits
                                  and GET /v1/deposits/{depositId}. Note that
                                  the deposit object embedded in order and
                                  operation responses does not yet apply this
                                  rule — it returns the stored value. Not the
                                  creation time — use createdAt for that.
                                examples:
                                  - 1723027132000
                                  - 1723027133000
                                  - 1723027134000
                              expectedAmount:
                                type: number
                                minimum: 0
                                description: Amount expected of the deposit
                                examples:
                                  - 1000
                                  - 2000
                                  - 3000
                              amount:
                                type: number
                                minimum: 0
                                description: Amount received of the deposit
                                examples:
                                  - 1000
                                  - 2000
                                  - 3000
                              currency:
                                anyOf:
                                  - type: string
                                    enum:
                                      - EUR
                                      - USD
                                      - GBP
                                      - BRL
                                      - MXN
                                      - ARS
                                      - COP
                                      - PEN
                                      - NGN
                                      - KES
                                      - TZS
                                      - UGX
                                      - RWF
                                      - MWK
                                      - ZMW
                                      - XOF
                                      - XAF
                                      - BWP
                                  - type: string
                                    enum:
                                      - USDC
                                      - USDT
                                      - CUSD
                                      - BTC
                                      - ETH
                                      - POL
                                      - SOL
                                      - TRX
                                      - AVAX
                                      - XRP
                                      - BNB
                                description: Currency of the deposit
                                examples:
                                  - EUR
                                  - BRL
                              fee:
                                type: number
                                minimum: 0
                                description: >-
                                  Fee for the deposit. This value is written
                                  once the deposit has been executed. Meanwhile
                                  it will appear 0.
                                example: 10
                              expectedFee:
                                type: number
                                minimum: 0
                                description: >-
                                  Fee for the deposit. This value is correlated
                                  with the expected amount for the deposit.
                                examples:
                                  - 10
                                  - 20
                                  - 30
                              feeCurrency:
                                anyOf:
                                  - type: string
                                    enum:
                                      - EUR
                                      - USD
                                      - GBP
                                      - BRL
                                      - MXN
                                      - ARS
                                      - COP
                                      - PEN
                                      - NGN
                                      - KES
                                      - TZS
                                      - UGX
                                      - RWF
                                      - MWK
                                      - ZMW
                                      - XOF
                                      - XAF
                                      - BWP
                                  - type: string
                                    enum:
                                      - USDC
                                      - USDT
                                      - CUSD
                                      - BTC
                                      - ETH
                                      - POL
                                      - SOL
                                      - TRX
                                      - AVAX
                                      - XRP
                                      - BNB
                                description: Currency of the fee
                                examples:
                                  - EUR
                                  - BRL
                              status:
                                anyOf:
                                  - type: string
                                    enum:
                                      - Pending
                                      - Processing
                                      - Success
                                      - Failed
                                      - Canceled
                                      - Reviewing
                                    description: >-
                                      Common status values that are shared
                                      across all operation types
                                    examples:
                                      - Pending
                                      - Processing
                                      - Success
                                      - Failed
                                      - Canceled
                                      - Reviewing
                                  - type: string
                                    enum:
                                      - PendingCancel
                                      - Received
                                description: Status of the deposit
                                examples:
                                  - Pending
                                  - Success
                                  - Failed
                                  - Received
                                  - PendingCancel
                              depositInfo:
                                oneOf:
                                  - type: object
                                    properties:
                                      accountHolder:
                                        type: string
                                        description: Name of the account holder
                                        example: John Doe
                                      iban:
                                        type: string
                                        description: SEPA Bank Account Number
                                        example: DE8937XXXXXXXXXXXX3000
                                      bic:
                                        type: string
                                        description: Bank BIC/SWIFT code
                                        example: DEUTDEFF
                                      bankName:
                                        type: string
                                        description: Name of the bank
                                        example: Deutsche Bank
                                      bankAddress:
                                        type: string
                                        description: Address of the bank
                                        example: Taunusanlage 12
                                      bankCity:
                                        type: string
                                        description: City of the bank
                                        example: Frankfurt am Main
                                      bankZipcode:
                                        type: string
                                        description: Zipcode of the bank
                                        example: '60325'
                                      bankCountry:
                                        type: string
                                        enum:
                                          - US
                                          - CA
                                          - GB
                                          - DE
                                          - FR
                                          - AU
                                          - JP
                                          - KR
                                          - SE
                                          - 'NO'
                                          - DK
                                          - FI
                                          - NL
                                          - BE
                                          - CH
                                          - AT
                                          - NZ
                                          - SG
                                          - IE
                                          - LU
                                          - PT
                                          - ES
                                          - IT
                                          - GR
                                          - CZ
                                          - PL
                                          - HU
                                          - SK
                                          - SI
                                          - EE
                                          - LT
                                          - LV
                                          - IS
                                          - MT
                                          - CY
                                          - HR
                                          - RO
                                          - BG
                                          - BR
                                          - AR
                                          - CL
                                          - MX
                                          - CO
                                          - PE
                                          - PA
                                          - UY
                                          - BO
                                          - ZA
                                          - NG
                                          - KE
                                          - GH
                                          - TZ
                                          - UG
                                          - RW
                                          - MW
                                          - ZM
                                          - BW
                                          - CD
                                          - CI
                                          - CM
                                          - IL
                                          - AE
                                          - QA
                                          - SA
                                          - OM
                                          - KW
                                          - BH
                                          - MY
                                          - PH
                                          - TH
                                          - VN
                                          - ID
                                          - IN
                                          - LK
                                          - NP
                                          - BD
                                          - PK
                                          - EG
                                          - MA
                                          - DZ
                                          - TN
                                          - JO
                                          - LB
                                          - TR
                                          - KH
                                          - MM
                                          - LA
                                          - EN
                                          - BT
                                          - VE
                                          - TW
                                          - HK
                                          - CN
                                        description: Country of the bank
                                        example: DE
                                      depositType:
                                        type: string
                                        enum:
                                          - SEPA
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: >-
                                          Expected deposit amount. It can be 0 for
                                          open-amount bank transfers where the
                                          sender chooses the final amount from
                                          their bank.
                                        example: 1000
                                      referenceCode:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          A unique identifier for the deposit,
                                          crucial for matching the deposit with
                                          the corresponding order. The user must
                                          include this code when making the
                                          deposit to ensure accurate processing.
                                          In cases where the reference code is
                                          incorrect or missing, we manually match
                                          orders based on the sender's name and
                                          other available details. In case the
                                          deposit is not matched, we will mark the
                                          order as Reviewing and the system will
                                          require manual attention.
                                        example: REF123456
                                      extraDepositMethods:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            methodType:
                                              type: string
                                              enum:
                                                - HOSTED_CHECKOUT
                                              description: >-
                                                HOSTED_CHECKOUT: a hosted payment page
                                                to send the payer to (card). More types
                                                may be added — treat an unknown value as
                                                unsupported and fall back to the bank
                                                details in `depositInfo`.
                                            url:
                                              type: string
                                              description: >-
                                                URL to send the payer to. For
                                                HOSTED_CHECKOUT, redirect the payer here
                                                (or embed it) to pay by card.
                                              example: https://checkout.example.com/pay/abc123
                                            callbackUrl:
                                              type: string
                                              description: >-
                                                Where the payer’s BROWSER is returned
                                                after paying. Informational only: it is
                                                not a server-to-server notification, and
                                                a payer landing there is NOT proof of
                                                payment — rely on the deposit status or
                                                webhooks for that.
                                            referenceCode:
                                              type: string
                                              description: >-
                                                Payment reference for this method
                                                (equals the deposit/order reference)
                                            amount:
                                              type: number
                                              description: >-
                                                Amount payable via this method when it
                                                differs from the deposit amount (e.g. a
                                                method-specific surcharge)
                                            currency:
                                              type: string
                                              description: Currency of this method
                                            expiresAt:
                                              type: number
                                              description: >-
                                                Unix ms after which `url` is no longer
                                                valid, when known
                                          required:
                                            - methodType
                                            - url
                                          description: >-
                                            An additional, optional way to pay this
                                            deposit
                                        description: >-
                                          Additional, optional ways to pay this
                                          same deposit (e.g. a hosted card page).
                                          The bank details above remain the
                                          primary method; ignore this field if you
                                          only support bank transfer.
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                    description: >-
                                      Detailed information about a bank deposit,
                                      including the amount and a unique
                                      reference code for identification.
                                  - type: object
                                    properties:
                                      address:
                                        type: string
                                        minLength: 1
                                        description: Crypto wallet address
                                        example: >-
                                          0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12
                                      network:
                                        type: string
                                        enum:
                                          - MATIC
                                          - ETH
                                          - CELO
                                          - TRON
                                          - BTC
                                          - SOLANA
                                          - XRP
                                          - CARDANO
                                          - BSC
                                          - ARBITRUM
                                          - OPTIMISM
                                          - AVALANCHE
                                          - BASE
                                        description: >-
                                          Network for the deposit for crypto
                                          deposits
                                        examples:
                                          - ETH
                                          - MATIC
                                          - CELO
                                      memo:
                                        type: string
                                        description: Optional memo for the transaction
                                        example: Payment for services
                                      depositType:
                                        type: string
                                        enum:
                                          - CRYPTO
                                      qrCode:
                                        type: string
                                        description: >-
                                          Base64-encoded QR image for the deposit
                                          address
                                        example: >-
                                          iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                                      qrCodeUrl:
                                        type: string
                                        format: uri
                                        description: 7-day signed GCS URL of the QR code PNG
                                      qrCodeExpiresAt:
                                        type: number
                                        description: >-
                                          Unix timestamp (ms) when qrCodeUrl
                                          expires
                                      receivingAddress:
                                        type: string
                                        description: >-
                                          The wallet address where funds should be
                                          sent
                                        example: >-
                                          0xAbCdEf0123456789AbCdEf0123456789AbCdEf01
                                      tokenContract:
                                        type: string
                                        description: The ERC20 token contract address
                                        example: >-
                                          0x765DE816845861e75A25fCA122bb6898B8B1282a
                                      decimals:
                                        type: number
                                        description: Token decimals (default 18)
                                        example: 18
                                    required:
                                      - address
                                      - network
                                      - depositType
                                    description: Crypto Deposit Information
                                  - type: object
                                    properties:
                                      base64QRCode:
                                        type: string
                                        minLength: 1
                                        description: Base64 encoded QR code
                                        example: base64QRCode
                                      qrCodeString:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          The Pix copy-and-paste code (BR Code
                                          payload) the payer pastes into their
                                          bank app. Pass it through unchanged — it
                                          carries its own checksum.
                                        example: qrCodeString
                                      referenceCode:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          A unique identifier for the deposit,
                                          crucial for matching the deposit with
                                          the corresponding order
                                        example: REF123456
                                      amount:
                                        type: number
                                        minimum: 0
                                        exclusiveMinimum: true
                                        description: >-
                                          The monetary value to be deposited into
                                          the bank. This amount should be positive
                                          and accurately reflect the intended
                                          deposit.
                                        example: 1000
                                      depositType:
                                        type: string
                                        enum:
                                          - PIX
                                    required:
                                      - base64QRCode
                                      - qrCodeString
                                      - referenceCode
                                      - amount
                                      - depositType
                                    description: Pix Deposit Information
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - CREDIT_CARD
                                    required:
                                      - depositType
                                  - type: object
                                    properties:
                                      bankName:
                                        type: string
                                        description: >-
                                          Name of the bank (present when the rail
                                          provides it)
                                      accountHolder:
                                        type: string
                                        description: >-
                                          Name of the account holder (present when
                                          the rail provides it)
                                      clabe:
                                        type: string
                                        description: CLABE number
                                      accountNumber:
                                        type: string
                                        description: >-
                                          Bank account number (e.g. from the
                                          BANK_TRANSFER payment method)
                                      reference:
                                        type: string
                                        description: >-
                                          Payment reference (e.g. from the
                                          BANK_TRANSFER payment method)
                                      depositType:
                                        type: string
                                        enum:
                                          - CLABE
                                        description: Type of the deposit
                                    required:
                                      - clabe
                                      - depositType
                                  - type: object
                                    properties:
                                      url:
                                        type: string
                                        description: URL of the PSE payment
                                      amountPrefilled:
                                        type: boolean
                                        description: >-
                                          Whether the payment page already carries
                                          the amount. When false or absent, the
                                          payer must enter it.
                                      depositType:
                                        type: string
                                        enum:
                                          - PSE
                                        description: Type of the deposit
                                    required:
                                      - url
                                      - depositType
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BALANCE
                                    required:
                                      - depositType
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - PENDING
                                      currency:
                                        type: string
                                        description: Currency of the deposit
                                      referenceCode:
                                        type: string
                                        description: Reference code for the order/deposit
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: >-
                                          Expected deposit amount. It can be 0
                                          while bank transfer details are
                                          open-amount or still being provisioned.
                                      extraDepositMethods:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            methodType:
                                              type: string
                                              enum:
                                                - HOSTED_CHECKOUT
                                              description: >-
                                                HOSTED_CHECKOUT: a hosted payment page
                                                to send the payer to (card). More types
                                                may be added — treat an unknown value as
                                                unsupported and fall back to the bank
                                                details in `depositInfo`.
                                            url:
                                              type: string
                                              description: >-
                                                URL to send the payer to. For
                                                HOSTED_CHECKOUT, redirect the payer here
                                                (or embed it) to pay by card.
                                              example: https://checkout.example.com/pay/abc123
                                            callbackUrl:
                                              type: string
                                              description: >-
                                                Where the payer’s BROWSER is returned
                                                after paying. Informational only: it is
                                                not a server-to-server notification, and
                                                a payer landing there is NOT proof of
                                                payment — rely on the deposit status or
                                                webhooks for that.
                                            referenceCode:
                                              type: string
                                              description: >-
                                                Payment reference for this method
                                                (equals the deposit/order reference)
                                            amount:
                                              type: number
                                              description: >-
                                                Amount payable via this method when it
                                                differs from the deposit amount (e.g. a
                                                method-specific surcharge)
                                            currency:
                                              type: string
                                              description: Currency of this method
                                            expiresAt:
                                              type: number
                                              description: >-
                                                Unix ms after which `url` is no longer
                                                valid, when known
                                          required:
                                            - methodType
                                            - url
                                          description: >-
                                            An additional, optional way to pay this
                                            deposit
                                        description: >-
                                          Additional ways to pay while the bank
                                          details are being provisioned (e.g. a
                                          hosted card page). Optional — ignore it
                                          and wait for the bank details if you
                                          only support bank transfer.
                                      pendingReason:
                                        type: string
                                        enum:
                                          - collection_account_activating
                                          - accountless_per_account_corridor
                                        description: >-
                                          Why the instructions are still being
                                          provisioned, when the reason is known.
                                          `collection_account_activating` means
                                          the collection account for this payer is
                                          being activated and payable details are
                                          expected shortly.
                                          `accountless_per_account_corridor` means
                                          this corridor collects only into a
                                          collection account dedicated to the
                                          paying account, this request names no
                                          account, and none can be created for it
                                          — so payable details will NOT arrive by
                                          waiting; create the deposit against an
                                          account instead. Absence never conveys
                                          timing on either surface: here it means
                                          only that no reason is classifiable, and
                                          an account-level deposit-method
                                          instruction never carries the field at
                                          all. Treat the values as an open set and
                                          ignore any you do not recognise.
                                    required:
                                      - depositType
                                      - currency
                                      - referenceCode
                                      - amount
                                    description: >-
                                      Deposit details are being provisioned;
                                      poll the order/deposit or wait for webhook
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - IMPS
                                      accountNumber:
                                        type: string
                                        description: Account number
                                      bankName:
                                        type: string
                                        description: Name of the bank
                                      accountHolder:
                                        type: string
                                        description: Name of the account holder
                                      ifsc:
                                        type: string
                                        description: ifsc number
                                      type:
                                        type: string
                                        description: Type of the deposit
                                      branch:
                                        type: string
                                        description: Branch of the bank
                                      bank:
                                        type: string
                                        description: Bank of the account
                                      otp:
                                        type: string
                                        description: OTP of the deposit
                                      bankNotes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: number
                                              description: 'Type of note: -1 for warning, 1 for info'
                                            msg:
                                              type: string
                                              description: Message content
                                          required:
                                            - type
                                            - msg
                                        description: Additional bank instructions
                                    required:
                                      - depositType
                                      - accountNumber
                                      - bankName
                                      - accountHolder
                                      - ifsc
                                      - type
                                      - branch
                                      - bank
                                      - otp
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - UPI
                                      vpa:
                                        type: string
                                        description: Virtual Payment Address
                                      name:
                                        type: string
                                        description: Name of the account holder
                                      otp:
                                        type: string
                                        description: OTP for the transaction
                                      paymentLink:
                                        type: string
                                        description: Payment link
                                      upiNotes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: number
                                              description: 'Type of note: -1 for warning, 1 for info'
                                            msg:
                                              type: string
                                              description: Message content
                                          required:
                                            - type
                                            - msg
                                        description: Additional UPI instructions
                                    required:
                                      - depositType
                                      - vpa
                                      - name
                                      - otp
                                      - paymentLink
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - AED_BANK_TRANSFER
                                      iban:
                                        type: string
                                        description: International Bank Account Number
                                      name:
                                        type: string
                                        description: Name of the account holder
                                      bank:
                                        type: string
                                        description: Bank name
                                      type:
                                        type: string
                                        description: Account type
                                      address:
                                        type: string
                                        description: Bank address
                                      email:
                                        type: string
                                        description: Contact email
                                      phoneNumber:
                                        type: string
                                        description: Contact phone number
                                      transferCode:
                                        type: string
                                        description: Transfer code
                                      poBox:
                                        type: string
                                        description: P.O. Box
                                      otp:
                                        type: string
                                        description: OTP for the transaction
                                      bankNotes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: number
                                              description: 'Type of note: -1 for warning, 1 for info'
                                            msg:
                                              type: string
                                              description: Message content
                                          required:
                                            - type
                                            - msg
                                        description: Additional bank instructions
                                    required:
                                      - depositType
                                      - iban
                                      - name
                                      - bank
                                      - type
                                      - address
                                      - email
                                      - phoneNumber
                                      - transferCode
                                      - poBox
                                      - otp
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - SPEI
                                      clabe:
                                        type: string
                                        description: CLABE number
                                      name:
                                        type: string
                                        description: Name of the account holder
                                      bank:
                                        type: string
                                        description: Bank name
                                      bankNotes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: number
                                              description: 'Type of note: -1 for warning, 1 for info'
                                            msg:
                                              type: string
                                              description: Message content
                                          required:
                                            - type
                                            - msg
                                        description: Additional bank instructions
                                    required:
                                      - depositType
                                      - clabe
                                      - name
                                      - bank
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - TRY_BANK_TRANSFER
                                      iban:
                                        type: string
                                        description: International Bank Account Number
                                      name:
                                        type: string
                                        description: Name of the account holder
                                      bank:
                                        type: string
                                        description: Bank name
                                      otp:
                                        type: string
                                        description: OTP for the transaction
                                      bankNotes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: number
                                              description: 'Type of note: -1 for warning, 1 for info'
                                            msg:
                                              type: string
                                              description: Message content
                                          required:
                                            - type
                                            - msg
                                        description: Additional bank instructions
                                    required:
                                      - depositType
                                      - iban
                                      - name
                                      - bank
                                      - otp
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - IDR_BANK_TRANSFER
                                      virtualAccount:
                                        type: string
                                        description: Virtual account number
                                      name:
                                        type: string
                                        description: Name of the account holder
                                      bank:
                                        type: string
                                        description: Bank name
                                      bankNotes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: number
                                              description: 'Type of note: -1 for warning, 1 for info'
                                            msg:
                                              type: string
                                              description: Message content
                                          required:
                                            - type
                                            - msg
                                        description: Additional bank instructions
                                    required:
                                      - depositType
                                      - virtualAccount
                                      - name
                                      - bank
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - THAI_QR
                                      qrCode:
                                        type: string
                                        description: QR code
                                      otp:
                                        type: string
                                        description: OTP for the transaction
                                      bankNotes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: number
                                              description: 'Type of note: -1 for warning, 1 for info'
                                            msg:
                                              type: string
                                              description: Message content
                                          required:
                                            - type
                                            - msg
                                        description: Additional bank instructions
                                    required:
                                      - depositType
                                      - qrCode
                                      - otp
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - VIET_QR
                                      qrCode:
                                        type: string
                                        description: QR code
                                      otp:
                                        type: string
                                        description: OTP for the transaction
                                      bankNotes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: number
                                              description: 'Type of note: -1 for warning, 1 for info'
                                            msg:
                                              type: string
                                              description: Message content
                                          required:
                                            - type
                                            - msg
                                        description: Additional bank instructions
                                    required:
                                      - depositType
                                      - qrCode
                                      - otp
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - GCASH
                                      qrCode:
                                        type: string
                                        description: QR code
                                      otp:
                                        type: string
                                        description: OTP for the transaction
                                      bankNotes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: number
                                              description: 'Type of note: -1 for warning, 1 for info'
                                            msg:
                                              type: string
                                              description: Message content
                                          required:
                                            - type
                                            - msg
                                        description: Additional bank instructions
                                    required:
                                      - depositType
                                      - qrCode
                                      - otp
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - ARGENTINA_BANK_TRANSFER
                                      accountNumber:
                                        type: string
                                        description: Account number
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - accountNumber
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - ACH_US
                                      routingNumber:
                                        type: string
                                        description: US bank ABA routing number
                                      accountNumber:
                                        type: string
                                        description: US bank account number
                                      beneficiaryName:
                                        type: string
                                        description: Beneficiary name on the account
                                      bankName:
                                        type: string
                                        description: Name of the bank
                                      bankAddress:
                                        type: string
                                        description: Address of the bank
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names (e.g. ACH,
                                          Wire)
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount in USD
                                      referenceCode:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Reference code to include in the
                                          wire/ACH transfer
                                    required:
                                      - depositType
                                      - routingNumber
                                      - accountNumber
                                      - beneficiaryName
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - ACH_PULL
                                    required:
                                      - depositType
                                    description: >-
                                      Funds are pulled from the holder's own
                                      linked US bank account; no transfer
                                      instructions apply
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - LOCALBANK
                                        description: >-
                                          Deprecated generic local-bank payin
                                          type. Superseded by the
                                          corridor-specific deposit types (e.g.
                                          SEPA, ACH_US, GBP_BANK_TRANSFER,
                                          CLABE/SPEI, PIX,
                                          ARGENTINA_BANK_TRANSFER,
                                          BANK_DEPOSIT_<CC>). Still returned on
                                          some corridors and on historical
                                          records, so integrators must continue to
                                          handle it. Discover the applicable
                                          per-currency method via GET
                                          /v1/currencies/{currency}/payin-schema.
                                        deprecated: true
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - GBP_BANK_TRANSFER
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: UK bank account number
                                      sortCode:
                                        type: string
                                        description: UK sort code
                                      bankName:
                                        type: string
                                        description: Name of the bank
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names (e.g.
                                          Faster Payments, CHAPS, BACS)
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount in GBP
                                      referenceCode:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Reference code to include in the
                                          transfer
                                    required:
                                      - depositType
                                      - accountHolder
                                      - accountNumber
                                      - sortCode
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_COL
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_CL
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_BO
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_BR
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_NG
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_KE
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_GH
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_ZA
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_TZ
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_UG
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_RW
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_MW
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_ZM
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_BW
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_CD
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_XOF
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_XAF
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_NG
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_KE
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_GH
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_ZA
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_TZ
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_UG
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_RW
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_MW
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_ZM
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_BW
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_CD
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_XOF
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                  - type: object
                                    properties:
                                      depositType:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_XAF
                                      accountHolder:
                                        type: string
                                        description: Account holder name
                                      accountNumber:
                                        type: string
                                        description: Local bank account number
                                      bankName:
                                        type: string
                                        description: Bank name
                                      bankCountry:
                                        type: string
                                        description: ISO-3166 country code
                                      routingCodes:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                              description: >-
                                                Routing code type (e.g.
                                                "routing_number", "sort_code")
                                            value:
                                              type: string
                                              description: Routing code value
                                          required:
                                            - type
                                            - value
                                        description: >-
                                          Routing identifiers (e.g. sort code,
                                          routing number)
                                      schemes:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          Accepted payment scheme names for this
                                          account
                                      amount:
                                        type: number
                                        minimum: 0
                                        description: Expected deposit amount
                                      referenceCode:
                                        type: string
                                        description: Reference code for the transfer
                                    required:
                                      - depositType
                                      - amount
                                      - referenceCode
                                description: Details of the deposit
                                examples:
                                  - accountHolder: John Doe
                                    iban: DE8937XXXXXXXXXXXX3000
                                    bic: COBADEFFXXX
                                    bankName: Commerzbank
                                    bankAddress: Mainzer Landstrasse 151-153
                                    bankCity: Frankfurt
                                    bankZipcode: '60327'
                                    bankCountry: DE
                                    amount: 1000
                                    referenceCode: ABC123
                                    depositType: SEPA
                              depositInfoPending:
                                type: boolean
                                description: >-
                                  True while the payment instructions are still
                                  being prepared. Poll this deposit until it is
                                  false (or absent) before showing the
                                  instructions to the payer.
                              complianceHold:
                                type: object
                                properties:
                                  reason:
                                    type: string
                                    enum:
                                      - screening
                                      - fiat_monitoring
                                    description: Compliance hold reason
                                required:
                                  - reason
                                description: >-
                                  Present while the inbound transfer funding
                                  this deposit is held in provider compliance
                                  review. The deposit stays Reviewing (amount 0,
                                  never credited) until the hold clears (promote
                                  to Received) or the transfer is
                                  rejected/returned (terminalize).
                            required:
                              - depositId
                              - createdAt
                              - expectedAmount
                              - amount
                              - currency
                              - fee
                              - expectedFee
                              - feeCurrency
                              - status
                              - depositInfo
                            description: Details of the deposit associated with the order
                          trade:
                            type: object
                            properties:
                              tradeId:
                                type: string
                                description: ID of the trade
                                example: 123e4567-e89b-12d3-a456-426614174000
                              createdAt:
                                type: number
                                description: Creation time of the trade
                                example: 1723027132
                              pair:
                                type: string
                                description: Asset pair to trade
                                example: BTC/EUR
                              tradeType:
                                type: string
                                enum:
                                  - buy
                                  - sell
                                description: Type of trade
                              volume:
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                                description: Order quantity in lots
                                example: 0.5
                              price:
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                                description: >-
                                  Price at which to place the order based on the
                                  pair
                                example: 30000
                              conversionRate:
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                                description: >-
                                  Conversion rate at which to place the order
                                  based on the pair
                                example: 30000
                              fee:
                                type: number
                                minimum: 0
                                description: Fee for the trade
                                example: 0.1
                              feeCurrency:
                                type: string
                                description: Currency of the fee
                                example: EUR
                              userEmail:
                                type: string
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the trade
                                example: user@example.com
                            required:
                              - tradeId
                              - createdAt
                              - pair
                              - tradeType
                              - volume
                              - fee
                              - feeCurrency
                              - userEmail
                            description: Details of the trade associated with the order
                          withdraw:
                            type: object
                            properties:
                              withdrawalId:
                                anyOf:
                                  - type: string
                                    minLength: 12
                                    maxLength: 12
                                    pattern: ^[A-Z0-9]{12}$
                                    examples:
                                      - 01CLFXMT67II
                                      - 2R7E5Y5KFXP8
                                      - 4FWWRE3Y2URM
                                  - type: string
                                    format: uuid
                                description: ID of the withdrawal
                              userData:
                                oneOf:
                                  - type: object
                                    properties:
                                      userType:
                                        type: string
                                        enum:
                                          - individual
                                      firstName:
                                        type: string
                                        minLength: 1
                                        maxLength: 50
                                        description: >-
                                          First name of the user making the
                                          deposit (or representative for business)
                                        examples:
                                          - John
                                          - Alice
                                          - Bob
                                      lastName:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: >-
                                          Last name of the user making the deposit
                                          (or representative for business)
                                        examples:
                                          - Doe
                                          - Smith
                                          - Johnson
                                      userEmail:
                                        type: string
                                        maxLength: 254
                                        format: email
                                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                        description: Email of the user making the deposit
                                        examples:
                                          - user@virtuabroker.com
                                          - john.doe@example.com
                                          - alice@example.com
                                      address:
                                        type: string
                                        maxLength: 150
                                        description: Address of the user making the deposit
                                        examples:
                                          - 123 Main St, Anytown, ES
                                          - 456 Elm St, Anytown, ES
                                          - 789 Oak St, Anytown, ES
                                      taxDocumentType:
                                        type: string
                                        maxLength: 50
                                        description: >-
                                          Tax document type of the user making the
                                          deposit. Common values: DNI, NIE,
                                          PASSPORT, CC, NIT, CE, NIF, but any
                                          string is accepted.
                                        examples:
                                          - CC
                                          - NIT
                                          - CE
                                          - NIF
                                          - Other
                                      taxId:
                                        type: string
                                        maxLength: 30
                                        description: Tax ID of the user making the deposit
                                        examples:
                                          - 123-45-6789
                                          - 987-65-4321
                                          - 111-22-3333
                                      country:
                                        type: string
                                        enum:
                                          - US
                                          - CA
                                          - GB
                                          - DE
                                          - FR
                                          - AU
                                          - JP
                                          - KR
                                          - SE
                                          - 'NO'
                                          - DK
                                          - FI
                                          - NL
                                          - BE
                                          - CH
                                          - AT
                                          - NZ
                                          - SG
                                          - IE
                                          - LU
                                          - PT
                                          - ES
                                          - IT
                                          - GR
                                          - CZ
                                          - PL
                                          - HU
                                          - SK
                                          - SI
                                          - EE
                                          - LT
                                          - LV
                                          - IS
                                          - MT
                                          - CY
                                          - HR
                                          - RO
                                          - BG
                                          - BR
                                          - AR
                                          - CL
                                          - MX
                                          - CO
                                          - PE
                                          - PA
                                          - UY
                                          - BO
                                          - ZA
                                          - NG
                                          - KE
                                          - GH
                                          - TZ
                                          - UG
                                          - RW
                                          - MW
                                          - ZM
                                          - BW
                                          - CD
                                          - CI
                                          - CM
                                          - IL
                                          - AE
                                          - QA
                                          - SA
                                          - OM
                                          - KW
                                          - BH
                                          - MY
                                          - PH
                                          - TH
                                          - VN
                                          - ID
                                          - IN
                                          - LK
                                          - NP
                                          - BD
                                          - PK
                                          - EG
                                          - MA
                                          - DZ
                                          - TN
                                          - JO
                                          - LB
                                          - TR
                                          - KH
                                          - MM
                                          - LA
                                          - EN
                                          - BT
                                          - VE
                                          - TW
                                          - HK
                                          - CN
                                        description: >-
                                          Country code of the user making the
                                          deposit
                                        examples:
                                          - ES
                                          - US
                                          - GB
                                      state:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: State of the user making the deposit
                                        examples:
                                          - Madrid
                                          - New York
                                          - London
                                      postalCode:
                                        type: string
                                        minLength: 1
                                        maxLength: 30
                                        description: >-
                                          Postal code of the user making the
                                          deposit
                                        examples:
                                          - '12345'
                                          - '67890'
                                          - abcde
                                      city:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: City of the user making the deposit
                                        examples:
                                          - Madrid
                                          - New York
                                          - London
                                      dob:
                                        type: string
                                        minLength: 1
                                        maxLength: 30
                                        description: >-
                                          Date of birth of the user making the
                                          deposit
                                        examples:
                                          - '1990-01-01'
                                          - '1995-05-15'
                                          - '1988-12-31'
                                      phoneNumber:
                                        type: string
                                        maxLength: 30
                                        description: >-
                                          Phone number of the user making the
                                          deposit
                                        examples:
                                          - '+447700900123'
                                          - '+447700900456'
                                          - '+447700900789'
                                      kycId:
                                        type: string
                                        minLength: 1
                                        maxLength: 300
                                        description: >-
                                          KYC ID of the user making the deposit on
                                          your platform (if the KYC is done by
                                          you, add the url)
                                        examples:
                                          - kyc-12345
                                          - kyc-67890
                                          - kyc-abcde
                                      activity:
                                        type: string
                                        description: Activity of the user making the deposit
                                        examples:
                                          - worker
                                          - business
                                          - student
                                    required:
                                      - userType
                                      - firstName
                                      - userEmail
                                      - country
                                  - type: object
                                    properties:
                                      userType:
                                        type: string
                                        enum:
                                          - business
                                      businessName:
                                        type: string
                                        maxLength: 150
                                        description: >-
                                          Business name (required when userType is
                                          business)
                                        examples:
                                          - Acme Corp
                                          - Tech Solutions Inc
                                          - Global Services Ltd
                                      firstName:
                                        type: string
                                        minLength: 1
                                        maxLength: 50
                                        description: >-
                                          First name of the user making the
                                          deposit (or representative for business)
                                        examples:
                                          - John
                                          - Alice
                                          - Bob
                                      userEmail:
                                        type: string
                                        maxLength: 254
                                        format: email
                                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                        description: Email of the user making the deposit
                                        examples:
                                          - user@virtuabroker.com
                                          - john.doe@example.com
                                          - alice@example.com
                                      address:
                                        type: string
                                        maxLength: 150
                                        description: Address of the user making the deposit
                                        examples:
                                          - 123 Main St, Anytown, ES
                                          - 456 Elm St, Anytown, ES
                                          - 789 Oak St, Anytown, ES
                                      taxDocumentType:
                                        type: string
                                        maxLength: 50
                                        description: >-
                                          Tax document type of the user making the
                                          deposit. Common values: DNI, NIE,
                                          PASSPORT, CC, NIT, CE, NIF, but any
                                          string is accepted.
                                        examples:
                                          - CC
                                          - NIT
                                          - CE
                                          - NIF
                                          - Other
                                      taxId:
                                        type: string
                                        maxLength: 30
                                        description: Tax ID of the user making the deposit
                                        examples:
                                          - 123-45-6789
                                          - 987-65-4321
                                          - 111-22-3333
                                      country:
                                        type: string
                                        enum:
                                          - US
                                          - CA
                                          - GB
                                          - DE
                                          - FR
                                          - AU
                                          - JP
                                          - KR
                                          - SE
                                          - 'NO'
                                          - DK
                                          - FI
                                          - NL
                                          - BE
                                          - CH
                                          - AT
                                          - NZ
                                          - SG
                                          - IE
                                          - LU
                                          - PT
                                          - ES
                                          - IT
                                          - GR
                                          - CZ
                                          - PL
                                          - HU
                                          - SK
                                          - SI
                                          - EE
                                          - LT
                                          - LV
                                          - IS
                                          - MT
                                          - CY
                                          - HR
                                          - RO
                                          - BG
                                          - BR
                                          - AR
                                          - CL
                                          - MX
                                          - CO
                                          - PE
                                          - PA
                                          - UY
                                          - BO
                                          - ZA
                                          - NG
                                          - KE
                                          - GH
                                          - TZ
                                          - UG
                                          - RW
                                          - MW
                                          - ZM
                                          - BW
                                          - CD
                                          - CI
                                          - CM
                                          - IL
                                          - AE
                                          - QA
                                          - SA
                                          - OM
                                          - KW
                                          - BH
                                          - MY
                                          - PH
                                          - TH
                                          - VN
                                          - ID
                                          - IN
                                          - LK
                                          - NP
                                          - BD
                                          - PK
                                          - EG
                                          - MA
                                          - DZ
                                          - TN
                                          - JO
                                          - LB
                                          - TR
                                          - KH
                                          - MM
                                          - LA
                                          - EN
                                          - BT
                                          - VE
                                          - TW
                                          - HK
                                          - CN
                                        description: >-
                                          Country code of the user making the
                                          deposit
                                        examples:
                                          - ES
                                          - US
                                          - GB
                                      state:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: State of the user making the deposit
                                        examples:
                                          - Madrid
                                          - New York
                                          - London
                                      postalCode:
                                        type: string
                                        minLength: 1
                                        maxLength: 30
                                        description: >-
                                          Postal code of the user making the
                                          deposit
                                        examples:
                                          - '12345'
                                          - '67890'
                                          - abcde
                                      city:
                                        type: string
                                        minLength: 1
                                        maxLength: 100
                                        description: City of the user making the deposit
                                        examples:
                                          - Madrid
                                          - New York
                                          - London
                                      dob:
                                        type: string
                                        minLength: 1
                                        maxLength: 30
                                        description: >-
                                          Date of birth of the user making the
                                          deposit
                                        examples:
                                          - '1990-01-01'
                                          - '1995-05-15'
                                          - '1988-12-31'
                                      phoneNumber:
                                        type: string
                                        maxLength: 30
                                        description: >-
                                          Phone number of the user making the
                                          deposit
                                        examples:
                                          - '+447700900123'
                                          - '+447700900456'
                                          - '+447700900789'
                                      kycId:
                                        type: string
                                        minLength: 1
                                        maxLength: 300
                                        description: >-
                                          KYC ID of the user making the deposit on
                                          your platform (if the KYC is done by
                                          you, add the url)
                                        examples:
                                          - kyc-12345
                                          - kyc-67890
                                          - kyc-abcde
                                      activity:
                                        type: string
                                        description: Activity of the user making the deposit
                                        examples:
                                          - worker
                                          - business
                                          - student
                                    required:
                                      - userType
                                      - businessName
                                      - firstName
                                      - userEmail
                                      - country
                                description: User data for the withdrawal
                              createdAt:
                                type: number
                                description: Creation time of the withdrawal
                                example: 1723027132
                              updatedAt:
                                type: number
                                description: Last update time of the withdrawal
                                example: 1723027132
                              userEmail:
                                type: string
                                format: email
                                pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                                description: Email of the user making the request
                                example: user@example.com
                              amount:
                                type: number
                                description: >-
                                  Amount to be withdrawn. This value is written
                                  once the withdrawal has been executed.
                                  Meanwhile it will appear 0.
                                example: 1000
                              currency:
                                type: string
                                description: Currency of the withdrawal
                                example: EUR
                              fee:
                                type: number
                                description: >-
                                  Fee for the withdrawal. This value is written
                                  once the withdrawal has been executed.
                                  Meanwhile it will appear 0.
                                example: 10
                              feeCurrency:
                                type: string
                                description: Currency of the fee
                                example: EUR
                              destinationTransferData:
                                oneOf:
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - BALANCE
                                    required:
                                      - type
                                    description: Balance transfer details
                                    title: Balance
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      iban:
                                        type: string
                                        description: IBAN number
                                      bic:
                                        type: string
                                        description: BIC number (optional)
                                      country:
                                        type: string
                                        description: Country code
                                      accountType:
                                        type: string
                                        enum:
                                          - PERSONAL
                                          - BUSINESS
                                        default: PERSONAL
                                        description: Account type (optional)
                                      city:
                                        type: string
                                        description: >-
                                          City of the recipient. REQUIRED for SEPA
                                          payouts — provide it here or in
                                          destinationUserData.city.
                                      postalCode:
                                        type: string
                                        description: >-
                                          Postal code of the recipient. REQUIRED
                                          for SEPA payouts — provide it here or in
                                          destinationUserData.postalCode.
                                      address:
                                        type: string
                                        description: >-
                                          Street address (line 1) of the
                                          recipient. Forwarded as the payout
                                          beneficiary `address.line1` when
                                          registering the beneficiary. Stored on
                                          the saved transaction method so the user
                                          does not have to re-supply it on every
                                          withdraw.
                                      type:
                                        type: string
                                        enum:
                                          - SEPA
                                    required:
                                      - destinationName
                                      - iban
                                      - country
                                      - type
                                    description: SEPA transfer details
                                    title: SEPA
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      accountNumber:
                                        type: string
                                        description: UK bank account number
                                      sortCode:
                                        type: string
                                        description: UK sort code
                                      country:
                                        type: string
                                        enum:
                                          - GB
                                        default: GB
                                        description: >-
                                          ISO 3166 country code of the recipient
                                          (GBP transfer is UK-based)
                                      accountType:
                                        type: string
                                        enum:
                                          - PERSONAL
                                          - BUSINESS
                                        default: PERSONAL
                                        description: Account type (optional)
                                      city:
                                        type: string
                                        description: >-
                                          City of the recipient. REQUIRED for this
                                          rail — provide it here or in
                                          destinationUserData.city.
                                      postalCode:
                                        type: string
                                        description: >-
                                          Postal code of the recipient. REQUIRED
                                          for this rail — provide it here or in
                                          destinationUserData.postalCode.
                                      address:
                                        type: string
                                        description: >-
                                          Street address (line 1) of the
                                          recipient. Forwarded as payee address
                                          when creating the payee.
                                      type:
                                        type: string
                                        enum:
                                          - GBP_BANK_TRANSFER
                                    required:
                                      - destinationName
                                      - accountNumber
                                      - sortCode
                                      - type
                                    description: GBP domestic bank transfer details
                                    title: BankDepositGB
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      accountNumber:
                                        type: string
                                        description: US bank account number
                                      routingNumber:
                                        type: string
                                        description: US ABA routing number
                                      country:
                                        type: string
                                        enum:
                                          - US
                                        default: US
                                        description: >-
                                          ISO 3166 country code of the recipient
                                          (ACH is US-domestic)
                                      accountType:
                                        type: string
                                        enum:
                                          - PERSONAL
                                          - BUSINESS
                                        default: PERSONAL
                                        description: Account type (optional)
                                      bankAccountType:
                                        type: string
                                        enum:
                                          - CHECKING
                                          - SAVINGS
                                        default: CHECKING
                                        description: >-
                                          Kind of bank account the payout lands
                                          in. Defaults to CHECKING when omitted.
                                      city:
                                        type: string
                                        description: >-
                                          City of the recipient. REQUIRED for this
                                          rail — provide it here or in
                                          destinationUserData.city.
                                      postalCode:
                                        type: string
                                        description: >-
                                          Postal code of the recipient. REQUIRED
                                          for this rail — provide it here or in
                                          destinationUserData.postalCode.
                                      state:
                                        type: string
                                        pattern: ^[A-Z]{2}$
                                        description: >-
                                          Two-letter US state code of the
                                          recipient (e.g. NY). REQUIRED for this
                                          rail.
                                      address:
                                        type: string
                                        description: >-
                                          Street address (line 1) of the
                                          recipient. Forwarded as payee address
                                          when creating the payee.
                                      type:
                                        type: string
                                        enum:
                                          - ACH_US
                                    required:
                                      - destinationName
                                      - accountNumber
                                      - routingNumber
                                      - state
                                      - type
                                    description: USD ACH transfer details
                                    title: AchUS
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - linkedBankAccount
                                      accountLinkId:
                                        type: string
                                        pattern: ^alnk_[0-9a-f]{24}$
                                        description: >-
                                          Identifier of one of the account holder
                                          own linked bank accounts
                                        examples:
                                          - alnk_0123456789abcdef01234567
                                    required:
                                      - type
                                      - accountLinkId
                                    description: >-
                                      A bank account the account holder linked
                                      beforehand. Pays out only to the holder of
                                      the order; never to a third party. Not
                                      available yet.
                                    title: LinkedBankAccount
                                    deprecated: true
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - ETH
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: ETH destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: ETH
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - MATIC
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: MATIC destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: MATIC
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - SOL
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: SOL destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: SOL
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - TRON
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: TRON destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: TRON
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - CELO
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: CELO destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: CELO
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - BTC
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: BTC destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: BTC
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - SOLANA
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: SOLANA destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: SOLANA
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - XRP
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: XRP destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: XRP
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - CARDANO
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: CARDANO destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: CARDANO
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - BSC
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: BSC destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: BSC
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - ARBITRUM
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: ARBITRUM destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: ARBITRUM
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - OPTIMISM
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: OPTIMISM destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: OPTIMISM
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - AVALANCHE
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: AVALANCHE destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: AVALANCHE
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - BASE
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: BASE destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: BASE
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id from GET
                                          /v1/currencies/COP/networks. Not read by
                                          the payout; retained for the network
                                          selector and for stored records.
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_COL
                                      destinationBankCode:
                                        type: string
                                        description: >-
                                          Recipient bank code — one of the 4-digit
                                          codes published by GET
                                          /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                          (the code, not the name). Required when
                                          creating or updating a destination.
                                      destinationBankAccountType:
                                        type: string
                                        description: >-
                                          Bank account type — CORRIENTE or AHORRO.
                                          Required when creating or updating a
                                          destination.
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          Recipient ID document number. Required
                                          when creating or updating a destination.
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Recipient ID document type — CC, CE,
                                          NIT, TI or PP. Required when creating or
                                          updating a destination.
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Colombian bank deposit details. Equivalent
                                      to ACH_COP — same payout rail, same
                                      required fields, same bank roster; ACH_COP
                                      is recommended for new integrations. Note
                                      that BANK_DEPOSIT_COL is also the name of
                                      a COP collection rail.
                                    title: Bank Deposit COL
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      brebKey:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Bre-B key (llave) that identifies the
                                          recipient account
                                      email:
                                        type: string
                                        description: >-
                                          Recipient email (optional contact for
                                          the Bre-B rail)
                                      destinationPhoneNumber:
                                        type: string
                                        description: >-
                                          Recipient phone number (optional contact
                                          for the Bre-B rail)
                                      type:
                                        type: string
                                        enum:
                                          - BRE_B_COP
                                    required:
                                      - destinationName
                                      - brebKey
                                      - type
                                    description: Colombian Bre-B payout details
                                    title: Bre-B COP
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        pattern: ^\d{4}$
                                        description: >-
                                          Recipient bank code — one of the 4-digit
                                          codes published by GET
                                          /v1/currencies/COP/destination-schema?method=achCOP
                                          (the code, not the name)
                                      destinationBankAccountNumber:
                                        type: string
                                        minLength: 1
                                        description: Recipient bank account number
                                      destinationBankAccountType:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Bank account type (e.g. AHORROS /
                                          CORRIENTE)
                                      destinationDocumentType:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Recipient ID document type (e.g. CC / CE
                                          / NIT)
                                      destinationTaxId:
                                        type: string
                                        minLength: 1
                                        description: Recipient ID document number
                                      type:
                                        type: string
                                        enum:
                                          - ACH_COP
                                    required:
                                      - destinationName
                                      - destinationBankCode
                                      - destinationBankAccountNumber
                                      - destinationBankAccountType
                                      - destinationDocumentType
                                      - destinationTaxId
                                      - type
                                    description: Colombian ACH payout details
                                    title: ACH COP
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (unused for TWD — no
                                          network discovery)
                                      destinationBankName:
                                        type: string
                                        minLength: 2
                                        description: >-
                                          Bank name (required — TWD payouts run
                                          over SWIFT)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_TW
                                      destinationBankBranch:
                                        type: string
                                        minLength: 2
                                        description: >-
                                          Bank branch (required — TWD payouts run
                                          over SWIFT)
                                      bic:
                                        type: string
                                        pattern: >-
                                          ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                                        description: >-
                                          SWIFT BIC code (required for TWD
                                          payouts)
                                      destinationBankAccountType:
                                        type: string
                                        description: Type of bank account (legacy, optional)
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          Tax ID of the recipient (legacy,
                                          optional)
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Document type of the recipient (legacy,
                                          optional)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationBankName
                                      - type
                                      - destinationBankBranch
                                      - bic
                                    description: Taiwan bank deposit details (SWIFT payout)
                                    title: Bank Deposit TW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        description: Bank code
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationBankBranch:
                                        type: string
                                        description: Bank branch
                                      destinationTaxId:
                                        type: string
                                        description: Tax ID of the recipient
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_BR
                                    required:
                                      - destinationName
                                      - destinationBankCode
                                      - destinationBankAccount
                                      - destinationBankBranch
                                      - destinationTaxId
                                      - type
                                    description: Brazilian bank deposit details
                                    title: Bank Deposit BR
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPixCode:
                                        type: string
                                        description: PIX code
                                      destinationTaxId:
                                        type: string
                                        description: Tax ID of the recipient
                                      type:
                                        type: string
                                        enum:
                                          - PIX_BR
                                    required:
                                      - destinationName
                                      - destinationPixCode
                                      - destinationTaxId
                                      - type
                                    description: Brazilian PIX details
                                    title: PIX BR
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccountNumber:
                                        type: string
                                        description: Bank account number
                                      destinationBankName:
                                        type: string
                                        description: Name of the bank
                                      destinationTaxId:
                                        type: string
                                        pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                        description: Tax ID of the recipient
                                      destinationBankAccountType:
                                        type: string
                                        description: Type of bank account
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_VEN
                                    required:
                                      - destinationName
                                      - destinationBankAccountNumber
                                      - destinationBankName
                                      - destinationTaxId
                                      - destinationBankAccountType
                                      - type
                                    description: Venezuelan bank deposit details
                                    title: Bank Deposit VEN
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        description: Bank code
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationTaxId:
                                        type: string
                                        pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                        description: Tax ID of the recipient
                                      destinationBankAccountType:
                                        type: string
                                        description: Type of bank account
                                      type:
                                        type: string
                                        enum:
                                          - PHONE_DEPOSIT_VEN
                                    required:
                                      - destinationName
                                      - destinationBankCode
                                      - destinationPhoneNumber
                                      - destinationTaxId
                                      - destinationBankAccountType
                                      - type
                                    description: Venezuelan phone deposit details
                                    title: Phone Deposit VEN
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_IN
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      India bank deposit details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Bank Deposit IN
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - IMPS
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      India IMPS details. Deprecated — no active
                                      payout corridor for this method; orders
                                      using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: IMPS
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - THAI_QR
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Thailand Thai QR details. Deprecated — no
                                      active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Thai QR
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - VIET_QR
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Vietnam Viet QR details. Deprecated — no
                                      active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Viet QR
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - GCASH
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Philippines GCash details. Deprecated — no
                                      active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: GCash
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationTaxId:
                                        type: string
                                        description: Tax ID
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_PAYMENT_IN
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - destinationTaxId
                                      - type
                                    description: >-
                                      India mobile payment details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Mobile Payment IN
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationBankCode:
                                        type: string
                                        description: Bank code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_VN
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationBankCode
                                      - type
                                    description: >-
                                      Vietnam bank deposit details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Bank Deposit VN
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      bic:
                                        type: string
                                        description: >-
                                          SWIFT BIC code (required for HKD payouts
                                          via the HK bank corridor)
                                      destinationBankName:
                                        type: string
                                        description: Bank name
                                      destinationAddress:
                                        type: string
                                        description: Address line 1 of the recipient
                                      destinationCity:
                                        type: string
                                        description: Recipient city (defaults to Hong Kong)
                                      accountHolderName:
                                        type: string
                                        description: >-
                                          Bank account holder name if different
                                          from payee
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_HK
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - bic
                                      - destinationBankName
                                      - destinationAddress
                                      - type
                                    description: >-
                                      Hong Kong bank deposit details (HKD bank
                                      corridor)
                                    title: Bank Deposit HK
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationBankCode:
                                        type: string
                                        pattern: ^\d+$
                                        description: >-
                                          CNAPS / bank institution code (numeric,
                                          variable length)
                                      destinationBankName:
                                        type: string
                                        description: Bank name
                                      destinationAddress:
                                        type: string
                                        description: Address line 1 of the recipient
                                      destinationCity:
                                        type: string
                                        description: Recipient city
                                      destinationState:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Province / state of the recipient
                                          (required for CN — the beneficiary is
                                          rejected in compliance review without
                                          it)
                                      destinationPostcode:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Postal code of the recipient (required
                                          for CN — the beneficiary is rejected in
                                          compliance review without it)
                                      destinationPhone:
                                        type: string
                                        description: >-
                                          Phone number of the recipient, without
                                          country prefix (optional; defaulted for
                                          CN when omitted)
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          Unified Social Credit Code (USCC, GB
                                          32100-2015) of the recipient company —
                                          18 characters including the check digit;
                                          whitespace is removed and letters are
                                          normalized to uppercase (optional)
                                      accountHolderName:
                                        type: string
                                        description: >-
                                          Bank account holder name if different
                                          from payee
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_CN
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationBankCode
                                      - destinationBankName
                                      - destinationAddress
                                      - destinationCity
                                      - destinationState
                                      - destinationPostcode
                                      - type
                                    description: >-
                                      China mainland bank deposit details (CNY
                                      bank corridor)
                                    title: Bank Deposit CN
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id from GET
                                          /v1/currencies/ARS/networks (the network
                                          selector, optional)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_AR
                                      destinationCBU:
                                        type: string
                                        description: >-
                                          CBU — 22-digit bank account key (legacy,
                                          optional)
                                      destinationCVU:
                                        type: string
                                        description: >-
                                          CVU — 22-digit virtual account key
                                          (legacy, optional)
                                      destinationAlias:
                                        type: string
                                        description: Account alias (legacy, optional)
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          CUIT/CUIL tax ID of the recipient
                                          (required when creating ARS bank
                                          destinations): exactly 11 digits with no
                                          hyphens, spaces or other characters, and
                                          a valid check digit (e.g. 20000000001)
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Document type of the recipient (legacy,
                                          optional)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Argentinian bank deposit details
                                    title: Bank Deposit AR
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Recipient bank name (required for
                                          Chilean bank payouts)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_CL
                                      destinationBankAccountType:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Account type — corriente or ahorro
                                          (required for Chilean bank payouts)
                                      destinationTaxId:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          RUT tax ID of the recipient (required
                                          for Chilean bank payouts)
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Document type of the recipient (legacy,
                                          optional)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationBankName
                                      - type
                                      - destinationBankAccountType
                                      - destinationTaxId
                                    description: Chilean bank deposit details
                                    title: Bank Deposit CL
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        minLength: 2
                                        maxLength: 30
                                        description: >-
                                          Recipient name (required, 2–30
                                          characters)
                                      destinationBankAccount:
                                        type: string
                                        minLength: 1
                                        maxLength: 11
                                        description: >-
                                          Bank account number (max 11 digits for
                                          Bolivian accounts)
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (unused for BOB — no
                                          network discovery)
                                      destinationBankName:
                                        type: string
                                        maxLength: 20
                                        description: Bank name (optional, max 20 characters)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_BO
                                      destinationTaxId:
                                        type: string
                                        minLength: 1
                                        maxLength: 15
                                        description: >-
                                          NIT tax ID of the recipient (required
                                          for Bolivian payouts)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                      - destinationTaxId
                                    description: Bolivian bank deposit details
                                    title: Bank Deposit BO
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id from GET
                                          /v1/currencies/PEN/networks (the network
                                          selector)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_PE
                                      destinationCCI:
                                        type: string
                                        description: >-
                                          CCI — 20-digit interbank account code
                                          (legacy, optional)
                                      destinationBankAccountType:
                                        type: string
                                        description: >-
                                          Account type (corriente/ahorro) (legacy,
                                          optional)
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          DNI/RUC document ID of the recipient
                                          (legacy, optional)
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Document type of the recipient (legacy,
                                          optional)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationNetworkId
                                      - type
                                    description: >-
                                      Peruvian bank deposit details. Deprecated
                                      — no active payout corridor for this
                                      method; orders using it are rejected.
                                      Retained for backward compatibility with
                                      stored destinations.
                                    title: Bank Deposit PE
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        pattern: ^\d{3}$
                                        description: >-
                                          Recipient bank code (the 3-digit code
                                          the rail expects, not the name)
                                      destinationBankAccountNumber:
                                        type: string
                                        minLength: 1
                                        maxLength: 20
                                        description: Recipient bank account number (max 20)
                                      destinationBankAccountType:
                                        type: string
                                        enum:
                                          - CORRIENTE
                                          - AHORROS
                                          - PHONE
                                        description: Bank account type
                                      destinationCCI:
                                        type: string
                                        pattern: ^\d{1,20}$
                                        description: >-
                                          CCI — Peruvian interbank code (required,
                                          digits only, max 20)
                                      destinationDocumentType:
                                        type: string
                                        enum:
                                          - CC
                                          - CE
                                          - RUC
                                          - PAS
                                          - PAR
                                          - LMI
                                          - OTHER
                                        description: Recipient identification type
                                      destinationTaxId:
                                        type: string
                                        minLength: 1
                                        maxLength: 50
                                        description: Recipient identification number (max 50)
                                      email:
                                        type: string
                                        pattern: ^.+@.+\..+$
                                        description: >-
                                          Recipient email (required for PEN
                                          payouts)
                                      destinationPhoneNumber:
                                        type: string
                                        pattern: ^\d{1,9}$
                                        description: >-
                                          Recipient phone number (required, max 9
                                          digits)
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_PEN
                                    required:
                                      - destinationName
                                      - destinationBankCode
                                      - destinationBankAccountNumber
                                      - destinationBankAccountType
                                      - destinationCCI
                                      - destinationDocumentType
                                      - destinationTaxId
                                      - email
                                      - destinationPhoneNumber
                                      - type
                                    description: >-
                                      Peruvian bank deposit details (bank-code
                                      payout corridor).
                                    title: Bank Deposit PEN
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_NG
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Nigeria bank deposit details
                                    title: Bank Deposit NG
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_KE
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Kenya bank deposit details
                                    title: Bank Deposit KE
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_GH
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Ghana bank deposit details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Bank Deposit GH
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_ZA
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: South Africa bank deposit details
                                    title: Bank Deposit ZA
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_TZ
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Tanzania bank deposit details
                                    title: Bank Deposit TZ
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_UG
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Uganda bank deposit details
                                    title: Bank Deposit UG
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_RW
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Rwanda bank deposit details
                                    title: Bank Deposit RW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_MW
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Malawi bank deposit details
                                    title: Bank Deposit MW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_ZM
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Zambia bank deposit details
                                    title: Bank Deposit ZM
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_BW
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Botswana bank deposit details
                                    title: Bank Deposit BW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_CD
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      DR Congo bank deposit details. Deprecated
                                      — no active payout corridor for this
                                      method; orders using it are rejected.
                                      Retained for backward compatibility with
                                      stored destinations.
                                    title: Bank Deposit CD
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_XOF
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: West African CFA bank deposit details
                                    title: Bank Deposit XOF
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_XAF
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Central African CFA bank deposit details
                                    title: Bank Deposit XAF
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_NG
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Nigeria mobile money details
                                    title: Mobile Money NG
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_KE
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Kenya mobile money details
                                    title: Mobile Money KE
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_GH
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: >-
                                      Ghana mobile money details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Mobile Money GH
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_ZA
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: South Africa mobile money details
                                    title: Mobile Money ZA
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_TZ
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Tanzania mobile money details
                                    title: Mobile Money TZ
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_UG
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Uganda mobile money details
                                    title: Mobile Money UG
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_RW
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Rwanda mobile money details
                                    title: Mobile Money RW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_MW
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Malawi mobile money details
                                    title: Mobile Money MW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_ZM
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Zambia mobile money details
                                    title: Mobile Money ZM
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_BW
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Botswana mobile money details
                                    title: Mobile Money BW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_CD
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: >-
                                      DR Congo mobile money details. Deprecated
                                      — no active payout corridor for this
                                      method; orders using it are rejected.
                                      Retained for backward compatibility with
                                      stored destinations.
                                    title: Mobile Money CD
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_XOF
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: West African CFA mobile money details
                                    title: Mobile Money XOF
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_XAF
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Central African CFA mobile money details
                                    title: Mobile Money XAF
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        description: Bank code
                                      destinationBankAccountNumber:
                                        type: string
                                        description: Bank account number (18-digit CLABE)
                                      numericReference:
                                        type: string
                                        description: Numeric reference
                                      notesReference:
                                        type: string
                                        description: Notes reference
                                      destinationClabe:
                                        type: string
                                        description: >-
                                          CLABE — legacy alias, prefer
                                          destinationBankAccountNumber
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          Recipient tax id (RFC) — required by
                                          some MX bank-deposit rails ("Número de
                                          Identificación"); optional otherwise
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_MX
                                    required:
                                      - destinationName
                                      - destinationBankAccountNumber
                                      - type
                                    description: Mexican bank deposit details
                                    title: Bank Deposit MX
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPseNumber:
                                        type: string
                                        description: PSE number
                                      type:
                                        type: string
                                        enum:
                                          - PSE
                                    required:
                                      - destinationName
                                      - destinationPseNumber
                                      - type
                                    description: >-
                                      PSE transfer details. Deprecated — no
                                      active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: PSE
                                    deprecated: true
                                description: >-
                                  The details required for the end user
                                  destination transfer method.
                              status:
                                anyOf:
                                  - type: string
                                    enum:
                                      - Pending
                                      - Processing
                                      - Success
                                      - Failed
                                      - Canceled
                                      - Reviewing
                                    description: >-
                                      Common status values that are shared
                                      across all operation types
                                    examples:
                                      - Pending
                                      - Processing
                                      - Success
                                      - Failed
                                      - Canceled
                                      - Reviewing
                                  - type: string
                                    enum:
                                      - PendingCancel
                                      - PendingWithdrawal
                                      - PendingVerification
                                      - Pending2FA
                                      - Compliance
                                      - Accepted
                                      - Approved
                                      - Rejected
                                      - Review
                                description: Status of the withdrawal
                                examples:
                                  - Pending
                                  - Pending2FA
                                  - Compliance
                                  - Accepted
                                  - Approved
                                  - Success
                                  - Failed
                                  - Review
                                  - Rejected
                              withdrawalInfo:
                                oneOf:
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - BALANCE
                                    required:
                                      - type
                                    description: Balance transfer details
                                    title: Balance
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      iban:
                                        type: string
                                        description: IBAN number
                                      bic:
                                        type: string
                                        description: BIC number (optional)
                                      country:
                                        type: string
                                        description: Country code
                                      accountType:
                                        type: string
                                        enum:
                                          - PERSONAL
                                          - BUSINESS
                                        default: PERSONAL
                                        description: Account type (optional)
                                      city:
                                        type: string
                                        description: >-
                                          City of the recipient. REQUIRED for SEPA
                                          payouts — provide it here or in
                                          destinationUserData.city.
                                      postalCode:
                                        type: string
                                        description: >-
                                          Postal code of the recipient. REQUIRED
                                          for SEPA payouts — provide it here or in
                                          destinationUserData.postalCode.
                                      address:
                                        type: string
                                        description: >-
                                          Street address (line 1) of the
                                          recipient. Forwarded as the payout
                                          beneficiary `address.line1` when
                                          registering the beneficiary. Stored on
                                          the saved transaction method so the user
                                          does not have to re-supply it on every
                                          withdraw.
                                      type:
                                        type: string
                                        enum:
                                          - SEPA
                                    required:
                                      - destinationName
                                      - iban
                                      - country
                                      - type
                                    description: SEPA transfer details
                                    title: SEPA
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      accountNumber:
                                        type: string
                                        description: UK bank account number
                                      sortCode:
                                        type: string
                                        description: UK sort code
                                      country:
                                        type: string
                                        enum:
                                          - GB
                                        default: GB
                                        description: >-
                                          ISO 3166 country code of the recipient
                                          (GBP transfer is UK-based)
                                      accountType:
                                        type: string
                                        enum:
                                          - PERSONAL
                                          - BUSINESS
                                        default: PERSONAL
                                        description: Account type (optional)
                                      city:
                                        type: string
                                        description: >-
                                          City of the recipient. REQUIRED for this
                                          rail — provide it here or in
                                          destinationUserData.city.
                                      postalCode:
                                        type: string
                                        description: >-
                                          Postal code of the recipient. REQUIRED
                                          for this rail — provide it here or in
                                          destinationUserData.postalCode.
                                      address:
                                        type: string
                                        description: >-
                                          Street address (line 1) of the
                                          recipient. Forwarded as payee address
                                          when creating the payee.
                                      type:
                                        type: string
                                        enum:
                                          - GBP_BANK_TRANSFER
                                    required:
                                      - destinationName
                                      - accountNumber
                                      - sortCode
                                      - type
                                    description: GBP domestic bank transfer details
                                    title: BankDepositGB
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      accountNumber:
                                        type: string
                                        description: US bank account number
                                      routingNumber:
                                        type: string
                                        description: US ABA routing number
                                      country:
                                        type: string
                                        enum:
                                          - US
                                        default: US
                                        description: >-
                                          ISO 3166 country code of the recipient
                                          (ACH is US-domestic)
                                      accountType:
                                        type: string
                                        enum:
                                          - PERSONAL
                                          - BUSINESS
                                        default: PERSONAL
                                        description: Account type (optional)
                                      bankAccountType:
                                        type: string
                                        enum:
                                          - CHECKING
                                          - SAVINGS
                                        default: CHECKING
                                        description: >-
                                          Kind of bank account the payout lands
                                          in. Defaults to CHECKING when omitted.
                                      city:
                                        type: string
                                        description: >-
                                          City of the recipient. REQUIRED for this
                                          rail — provide it here or in
                                          destinationUserData.city.
                                      postalCode:
                                        type: string
                                        description: >-
                                          Postal code of the recipient. REQUIRED
                                          for this rail — provide it here or in
                                          destinationUserData.postalCode.
                                      state:
                                        type: string
                                        pattern: ^[A-Z]{2}$
                                        description: >-
                                          Two-letter US state code of the
                                          recipient (e.g. NY). REQUIRED for this
                                          rail.
                                      address:
                                        type: string
                                        description: >-
                                          Street address (line 1) of the
                                          recipient. Forwarded as payee address
                                          when creating the payee.
                                      type:
                                        type: string
                                        enum:
                                          - ACH_US
                                    required:
                                      - destinationName
                                      - accountNumber
                                      - routingNumber
                                      - state
                                      - type
                                    description: USD ACH transfer details
                                    title: AchUS
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - linkedBankAccount
                                      accountLinkId:
                                        type: string
                                        pattern: ^alnk_[0-9a-f]{24}$
                                        description: >-
                                          Identifier of one of the account holder
                                          own linked bank accounts
                                        examples:
                                          - alnk_0123456789abcdef01234567
                                    required:
                                      - type
                                      - accountLinkId
                                    description: >-
                                      A bank account the account holder linked
                                      beforehand. Pays out only to the holder of
                                      the order; never to a third party. Not
                                      available yet.
                                    title: LinkedBankAccount
                                    deprecated: true
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - ETH
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: ETH destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: ETH
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - MATIC
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: MATIC destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: MATIC
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - SOL
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: SOL destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: SOL
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - TRON
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: TRON destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: TRON
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - CELO
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: CELO destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: CELO
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - BTC
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: BTC destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: BTC
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - SOLANA
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: SOLANA destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: SOLANA
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - XRP
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: XRP destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: XRP
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - CARDANO
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: CARDANO destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: \S
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: \S
                                    title: CARDANO
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - BSC
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: BSC destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: BSC
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - ARBITRUM
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: ARBITRUM destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: ARBITRUM
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - OPTIMISM
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: OPTIMISM destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: OPTIMISM
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - AVALANCHE
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: AVALANCHE destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: AVALANCHE
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - BASE
                                      address:
                                        type: string
                                        description: >-
                                          Destination wallet address. Send this
                                          rather than the legacy
                                          `destinationWalletAddress` — at least
                                          one of the two is required, and a
                                          payload carrying neither is rejected. On
                                          EVM chains the address is "0x" followed
                                          by 40 hex characters.
                                      memo:
                                        type: string
                                        description: >-
                                          Memo for the wallet, when the chain uses
                                          one
                                      txId:
                                        type: string
                                        description: Blockchain transaction ID
                                      txUrlScan:
                                        type: string
                                        description: >-
                                          Blockchain explorer URL for the
                                          transaction
                                      destinationWalletAddress:
                                        type: string
                                        description: >-
                                          Destination wallet address (legacy
                                          shape). Still accepted, but send
                                          `address` instead — at least one of the
                                          two is required and supplying neither is
                                          rejected.
                                      destinationWalletMemo:
                                        type: string
                                        description: >-
                                          Memo for the wallet (legacy shape) —
                                          send `memo` instead
                                      destinationNetwork:
                                        type: string
                                        description: >-
                                          Network name, when the corridor
                                          addresses the chain by name rather than
                                          by `type`
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Network id from GET
                                          /v1/currencies/{currency}/networks, for
                                          corridors where
                                          `supportsNetworkDiscovery` is true
                                      destinationCurrencySymbol:
                                        type: string
                                        description: >-
                                          Asset symbol on the chain. `type` names
                                          the chain, so this is what separates the
                                          native coin from tokens on it — ETH from
                                          USDC-on-Ethereum.
                                    required:
                                      - type
                                    description: BASE destination details
                                    anyOf:
                                      - required:
                                          - address
                                        properties:
                                          address:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                      - required:
                                          - destinationWalletAddress
                                        properties:
                                          destinationWalletAddress:
                                            pattern: ^\s*0x[a-fA-F0-9]{40}\s*$
                                    title: BASE
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id from GET
                                          /v1/currencies/COP/networks. Not read by
                                          the payout; retained for the network
                                          selector and for stored records.
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_COL
                                      destinationBankCode:
                                        type: string
                                        description: >-
                                          Recipient bank code — one of the 4-digit
                                          codes published by GET
                                          /v1/currencies/COP/destination-schema?method=bankDepositCOL
                                          (the code, not the name). Required when
                                          creating or updating a destination.
                                      destinationBankAccountType:
                                        type: string
                                        description: >-
                                          Bank account type — CORRIENTE or AHORRO.
                                          Required when creating or updating a
                                          destination.
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          Recipient ID document number. Required
                                          when creating or updating a destination.
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Recipient ID document type — CC, CE,
                                          NIT, TI or PP. Required when creating or
                                          updating a destination.
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Colombian bank deposit details. Equivalent
                                      to ACH_COP — same payout rail, same
                                      required fields, same bank roster; ACH_COP
                                      is recommended for new integrations. Note
                                      that BANK_DEPOSIT_COL is also the name of
                                      a COP collection rail.
                                    title: Bank Deposit COL
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      brebKey:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Bre-B key (llave) that identifies the
                                          recipient account
                                      email:
                                        type: string
                                        description: >-
                                          Recipient email (optional contact for
                                          the Bre-B rail)
                                      destinationPhoneNumber:
                                        type: string
                                        description: >-
                                          Recipient phone number (optional contact
                                          for the Bre-B rail)
                                      type:
                                        type: string
                                        enum:
                                          - BRE_B_COP
                                    required:
                                      - destinationName
                                      - brebKey
                                      - type
                                    description: Colombian Bre-B payout details
                                    title: Bre-B COP
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        pattern: ^\d{4}$
                                        description: >-
                                          Recipient bank code — one of the 4-digit
                                          codes published by GET
                                          /v1/currencies/COP/destination-schema?method=achCOP
                                          (the code, not the name)
                                      destinationBankAccountNumber:
                                        type: string
                                        minLength: 1
                                        description: Recipient bank account number
                                      destinationBankAccountType:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Bank account type (e.g. AHORROS /
                                          CORRIENTE)
                                      destinationDocumentType:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Recipient ID document type (e.g. CC / CE
                                          / NIT)
                                      destinationTaxId:
                                        type: string
                                        minLength: 1
                                        description: Recipient ID document number
                                      type:
                                        type: string
                                        enum:
                                          - ACH_COP
                                    required:
                                      - destinationName
                                      - destinationBankCode
                                      - destinationBankAccountNumber
                                      - destinationBankAccountType
                                      - destinationDocumentType
                                      - destinationTaxId
                                      - type
                                    description: Colombian ACH payout details
                                    title: ACH COP
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (unused for TWD — no
                                          network discovery)
                                      destinationBankName:
                                        type: string
                                        minLength: 2
                                        description: >-
                                          Bank name (required — TWD payouts run
                                          over SWIFT)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_TW
                                      destinationBankBranch:
                                        type: string
                                        minLength: 2
                                        description: >-
                                          Bank branch (required — TWD payouts run
                                          over SWIFT)
                                      bic:
                                        type: string
                                        pattern: >-
                                          ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
                                        description: >-
                                          SWIFT BIC code (required for TWD
                                          payouts)
                                      destinationBankAccountType:
                                        type: string
                                        description: Type of bank account (legacy, optional)
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          Tax ID of the recipient (legacy,
                                          optional)
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Document type of the recipient (legacy,
                                          optional)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationBankName
                                      - type
                                      - destinationBankBranch
                                      - bic
                                    description: Taiwan bank deposit details (SWIFT payout)
                                    title: Bank Deposit TW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        description: Bank code
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationBankBranch:
                                        type: string
                                        description: Bank branch
                                      destinationTaxId:
                                        type: string
                                        description: Tax ID of the recipient
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_BR
                                    required:
                                      - destinationName
                                      - destinationBankCode
                                      - destinationBankAccount
                                      - destinationBankBranch
                                      - destinationTaxId
                                      - type
                                    description: Brazilian bank deposit details
                                    title: Bank Deposit BR
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPixCode:
                                        type: string
                                        description: PIX code
                                      destinationTaxId:
                                        type: string
                                        description: Tax ID of the recipient
                                      type:
                                        type: string
                                        enum:
                                          - PIX_BR
                                    required:
                                      - destinationName
                                      - destinationPixCode
                                      - destinationTaxId
                                      - type
                                    description: Brazilian PIX details
                                    title: PIX BR
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccountNumber:
                                        type: string
                                        description: Bank account number
                                      destinationBankName:
                                        type: string
                                        description: Name of the bank
                                      destinationTaxId:
                                        type: string
                                        pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                        description: Tax ID of the recipient
                                      destinationBankAccountType:
                                        type: string
                                        description: Type of bank account
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_VEN
                                    required:
                                      - destinationName
                                      - destinationBankAccountNumber
                                      - destinationBankName
                                      - destinationTaxId
                                      - destinationBankAccountType
                                      - type
                                    description: Venezuelan bank deposit details
                                    title: Bank Deposit VEN
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        description: Bank code
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationTaxId:
                                        type: string
                                        pattern: ^[VvEeJj]-?[\d.,/-]{0,10}\d$
                                        description: Tax ID of the recipient
                                      destinationBankAccountType:
                                        type: string
                                        description: Type of bank account
                                      type:
                                        type: string
                                        enum:
                                          - PHONE_DEPOSIT_VEN
                                    required:
                                      - destinationName
                                      - destinationBankCode
                                      - destinationPhoneNumber
                                      - destinationTaxId
                                      - destinationBankAccountType
                                      - type
                                    description: Venezuelan phone deposit details
                                    title: Phone Deposit VEN
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_IN
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      India bank deposit details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Bank Deposit IN
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - IMPS
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      India IMPS details. Deprecated — no active
                                      payout corridor for this method; orders
                                      using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: IMPS
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - THAI_QR
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Thailand Thai QR details. Deprecated — no
                                      active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Thai QR
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - VIET_QR
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Vietnam Viet QR details. Deprecated — no
                                      active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Viet QR
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationIFSC:
                                        type: string
                                        description: IFSC code
                                      type:
                                        type: string
                                        enum:
                                          - GCASH
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Philippines GCash details. Deprecated — no
                                      active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: GCash
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationTaxId:
                                        type: string
                                        description: Tax ID
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_PAYMENT_IN
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - destinationTaxId
                                      - type
                                    description: >-
                                      India mobile payment details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Mobile Payment IN
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationBankCode:
                                        type: string
                                        description: Bank code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_VN
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationBankCode
                                      - type
                                    description: >-
                                      Vietnam bank deposit details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Bank Deposit VN
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      bic:
                                        type: string
                                        description: >-
                                          SWIFT BIC code (required for HKD payouts
                                          via the HK bank corridor)
                                      destinationBankName:
                                        type: string
                                        description: Bank name
                                      destinationAddress:
                                        type: string
                                        description: Address line 1 of the recipient
                                      destinationCity:
                                        type: string
                                        description: Recipient city (defaults to Hong Kong)
                                      accountHolderName:
                                        type: string
                                        description: >-
                                          Bank account holder name if different
                                          from payee
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_HK
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - bic
                                      - destinationBankName
                                      - destinationAddress
                                      - type
                                    description: >-
                                      Hong Kong bank deposit details (HKD bank
                                      corridor)
                                    title: Bank Deposit HK
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationBankCode:
                                        type: string
                                        pattern: ^\d+$
                                        description: >-
                                          CNAPS / bank institution code (numeric,
                                          variable length)
                                      destinationBankName:
                                        type: string
                                        description: Bank name
                                      destinationAddress:
                                        type: string
                                        description: Address line 1 of the recipient
                                      destinationCity:
                                        type: string
                                        description: Recipient city
                                      destinationState:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Province / state of the recipient
                                          (required for CN — the beneficiary is
                                          rejected in compliance review without
                                          it)
                                      destinationPostcode:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Postal code of the recipient (required
                                          for CN — the beneficiary is rejected in
                                          compliance review without it)
                                      destinationPhone:
                                        type: string
                                        description: >-
                                          Phone number of the recipient, without
                                          country prefix (optional; defaulted for
                                          CN when omitted)
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          Unified Social Credit Code (USCC, GB
                                          32100-2015) of the recipient company —
                                          18 characters including the check digit;
                                          whitespace is removed and letters are
                                          normalized to uppercase (optional)
                                      accountHolderName:
                                        type: string
                                        description: >-
                                          Bank account holder name if different
                                          from payee
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_CN
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationBankCode
                                      - destinationBankName
                                      - destinationAddress
                                      - destinationCity
                                      - destinationState
                                      - destinationPostcode
                                      - type
                                    description: >-
                                      China mainland bank deposit details (CNY
                                      bank corridor)
                                    title: Bank Deposit CN
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id from GET
                                          /v1/currencies/ARS/networks (the network
                                          selector, optional)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_AR
                                      destinationCBU:
                                        type: string
                                        description: >-
                                          CBU — 22-digit bank account key (legacy,
                                          optional)
                                      destinationCVU:
                                        type: string
                                        description: >-
                                          CVU — 22-digit virtual account key
                                          (legacy, optional)
                                      destinationAlias:
                                        type: string
                                        description: Account alias (legacy, optional)
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          CUIT/CUIL tax ID of the recipient
                                          (required when creating ARS bank
                                          destinations): exactly 11 digits with no
                                          hyphens, spaces or other characters, and
                                          a valid check digit (e.g. 20000000001)
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Document type of the recipient (legacy,
                                          optional)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Argentinian bank deposit details
                                    title: Bank Deposit AR
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Recipient bank name (required for
                                          Chilean bank payouts)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_CL
                                      destinationBankAccountType:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          Account type — corriente or ahorro
                                          (required for Chilean bank payouts)
                                      destinationTaxId:
                                        type: string
                                        minLength: 1
                                        description: >-
                                          RUT tax ID of the recipient (required
                                          for Chilean bank payouts)
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Document type of the recipient (legacy,
                                          optional)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationBankName
                                      - type
                                      - destinationBankAccountType
                                      - destinationTaxId
                                    description: Chilean bank deposit details
                                    title: Bank Deposit CL
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        minLength: 2
                                        maxLength: 30
                                        description: >-
                                          Recipient name (required, 2–30
                                          characters)
                                      destinationBankAccount:
                                        type: string
                                        minLength: 1
                                        maxLength: 11
                                        description: >-
                                          Bank account number (max 11 digits for
                                          Bolivian accounts)
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (unused for BOB — no
                                          network discovery)
                                      destinationBankName:
                                        type: string
                                        maxLength: 20
                                        description: Bank name (optional, max 20 characters)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_BO
                                      destinationTaxId:
                                        type: string
                                        minLength: 1
                                        maxLength: 15
                                        description: >-
                                          NIT tax ID of the recipient (required
                                          for Bolivian payouts)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                      - destinationTaxId
                                    description: Bolivian bank deposit details
                                    title: Bank Deposit BO
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id from GET
                                          /v1/currencies/PEN/networks (the network
                                          selector)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_PE
                                      destinationCCI:
                                        type: string
                                        description: >-
                                          CCI — 20-digit interbank account code
                                          (legacy, optional)
                                      destinationBankAccountType:
                                        type: string
                                        description: >-
                                          Account type (corriente/ahorro) (legacy,
                                          optional)
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          DNI/RUC document ID of the recipient
                                          (legacy, optional)
                                      destinationDocumentType:
                                        type: string
                                        description: >-
                                          Document type of the recipient (legacy,
                                          optional)
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - destinationNetworkId
                                      - type
                                    description: >-
                                      Peruvian bank deposit details. Deprecated
                                      — no active payout corridor for this
                                      method; orders using it are rejected.
                                      Retained for backward compatibility with
                                      stored destinations.
                                    title: Bank Deposit PE
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        pattern: ^\d{3}$
                                        description: >-
                                          Recipient bank code (the 3-digit code
                                          the rail expects, not the name)
                                      destinationBankAccountNumber:
                                        type: string
                                        minLength: 1
                                        maxLength: 20
                                        description: Recipient bank account number (max 20)
                                      destinationBankAccountType:
                                        type: string
                                        enum:
                                          - CORRIENTE
                                          - AHORROS
                                          - PHONE
                                        description: Bank account type
                                      destinationCCI:
                                        type: string
                                        pattern: ^\d{1,20}$
                                        description: >-
                                          CCI — Peruvian interbank code (required,
                                          digits only, max 20)
                                      destinationDocumentType:
                                        type: string
                                        enum:
                                          - CC
                                          - CE
                                          - RUC
                                          - PAS
                                          - PAR
                                          - LMI
                                          - OTHER
                                        description: Recipient identification type
                                      destinationTaxId:
                                        type: string
                                        minLength: 1
                                        maxLength: 50
                                        description: Recipient identification number (max 50)
                                      email:
                                        type: string
                                        pattern: ^.+@.+\..+$
                                        description: >-
                                          Recipient email (required for PEN
                                          payouts)
                                      destinationPhoneNumber:
                                        type: string
                                        pattern: ^\d{1,9}$
                                        description: >-
                                          Recipient phone number (required, max 9
                                          digits)
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_PEN
                                    required:
                                      - destinationName
                                      - destinationBankCode
                                      - destinationBankAccountNumber
                                      - destinationBankAccountType
                                      - destinationCCI
                                      - destinationDocumentType
                                      - destinationTaxId
                                      - email
                                      - destinationPhoneNumber
                                      - type
                                    description: >-
                                      Peruvian bank deposit details (bank-code
                                      payout corridor).
                                    title: Bank Deposit PEN
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_NG
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Nigeria bank deposit details
                                    title: Bank Deposit NG
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_KE
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Kenya bank deposit details
                                    title: Bank Deposit KE
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_GH
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      Ghana bank deposit details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Bank Deposit GH
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_ZA
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: South Africa bank deposit details
                                    title: Bank Deposit ZA
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_TZ
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Tanzania bank deposit details
                                    title: Bank Deposit TZ
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_UG
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Uganda bank deposit details
                                    title: Bank Deposit UG
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_RW
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Rwanda bank deposit details
                                    title: Bank Deposit RW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_MW
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Malawi bank deposit details
                                    title: Bank Deposit MW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_ZM
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Zambia bank deposit details
                                    title: Bank Deposit ZM
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_BW
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Botswana bank deposit details
                                    title: Bank Deposit BW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_CD
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: >-
                                      DR Congo bank deposit details. Deprecated
                                      — no active payout corridor for this
                                      method; orders using it are rejected.
                                      Retained for backward compatibility with
                                      stored destinations.
                                    title: Bank Deposit CD
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_XOF
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: West African CFA bank deposit details
                                    title: Bank Deposit XOF
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankAccount:
                                        type: string
                                        description: Bank account
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationBankName is given)
                                      destinationBankName:
                                        type: string
                                        description: >-
                                          Bank name (used to resolve the network
                                          when id is omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_XAF
                                    required:
                                      - destinationName
                                      - destinationBankAccount
                                      - type
                                    description: Central African CFA bank deposit details
                                    title: Bank Deposit XAF
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_NG
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Nigeria mobile money details
                                    title: Mobile Money NG
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_KE
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Kenya mobile money details
                                    title: Mobile Money KE
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_GH
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: >-
                                      Ghana mobile money details. Deprecated —
                                      no active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: Mobile Money GH
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_ZA
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: South Africa mobile money details
                                    title: Mobile Money ZA
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_TZ
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Tanzania mobile money details
                                    title: Mobile Money TZ
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_UG
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Uganda mobile money details
                                    title: Mobile Money UG
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_RW
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Rwanda mobile money details
                                    title: Mobile Money RW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_MW
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Malawi mobile money details
                                    title: Mobile Money MW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_ZM
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Zambia mobile money details
                                    title: Mobile Money ZM
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_BW
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Botswana mobile money details
                                    title: Mobile Money BW
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_CD
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: >-
                                      DR Congo mobile money details. Deprecated
                                      — no active payout corridor for this
                                      method; orders using it are rejected.
                                      Retained for backward compatibility with
                                      stored destinations.
                                    title: Mobile Money CD
                                    deprecated: true
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_XOF
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: West African CFA mobile money details
                                    title: Mobile Money XOF
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPhoneNumber:
                                        type: string
                                        description: Phone number
                                      destinationNetworkId:
                                        type: string
                                        description: >-
                                          Payout network id (optional if
                                          destinationNetworkName is given)
                                      destinationNetworkName:
                                        type: string
                                        description: >-
                                          Mobile money network name (resolves the
                                          network when id omitted)
                                      country:
                                        type: string
                                        description: ISO 3166 country code
                                      type:
                                        type: string
                                        enum:
                                          - MOBILE_MONEY_XAF
                                    required:
                                      - destinationName
                                      - destinationPhoneNumber
                                      - type
                                    description: Central African CFA mobile money details
                                    title: Mobile Money XAF
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationBankCode:
                                        type: string
                                        description: Bank code
                                      destinationBankAccountNumber:
                                        type: string
                                        description: Bank account number (18-digit CLABE)
                                      numericReference:
                                        type: string
                                        description: Numeric reference
                                      notesReference:
                                        type: string
                                        description: Notes reference
                                      destinationClabe:
                                        type: string
                                        description: >-
                                          CLABE — legacy alias, prefer
                                          destinationBankAccountNumber
                                      destinationTaxId:
                                        type: string
                                        description: >-
                                          Recipient tax id (RFC) — required by
                                          some MX bank-deposit rails ("Número de
                                          Identificación"); optional otherwise
                                      type:
                                        type: string
                                        enum:
                                          - BANK_DEPOSIT_MX
                                    required:
                                      - destinationName
                                      - destinationBankAccountNumber
                                      - type
                                    description: Mexican bank deposit details
                                    title: Bank Deposit MX
                                  - type: object
                                    properties:
                                      destinationName:
                                        type: string
                                        description: Name of the recipient
                                      destinationPseNumber:
                                        type: string
                                        description: PSE number
                                      type:
                                        type: string
                                        enum:
                                          - PSE
                                    required:
                                      - destinationName
                                      - destinationPseNumber
                                      - type
                                    description: >-
                                      PSE transfer details. Deprecated — no
                                      active payout corridor for this method;
                                      orders using it are rejected. Retained for
                                      backward compatibility with stored
                                      destinations.
                                    title: PSE
                                    deprecated: true
                                description: Detailed withdrawal information
                                title: WithdrawalInfo
                              source:
                                type: string
                                enum:
                                  - ui
                                  - apiApp
                                  - externalApi
                                  - internal
                                description: Source of withdrawal creation
                                example: externalApi
                              requires2FA:
                                type: boolean
                                description: Whether 2FA is required for this withdrawal
                                example: false
                              twoFactorToken:
                                type: string
                                description: 2FA token for email approval
                                example: abc123
                              twoFactorApprovedAt:
                                type: number
                                description: Timestamp when 2FA was approved
                                example: 1723027132
                              errorCode:
                                type: string
                                description: Error code when status is Review
                                example: INSUFFICIENT_BALANCE
                              errorDetails:
                                type: string
                                description: Detailed error information
                                example: Insufficient balance for withdrawal
                              reviewedBy:
                                type: string
                                description: Admin email who reviewed the withdrawal
                                example: admin@example.com
                              reviewedAt:
                                type: number
                                description: Timestamp when review happened
                                example: 1723027132
                            required:
                              - withdrawalId
                              - createdAt
                              - amount
                              - currency
                              - fee
                              - feeCurrency
                              - status
                            description: >-
                              Details of the withdrawal associated with the
                              order
                          createdAt:
                            type: number
                            description: Creation time of the order (timestamp)
                            examples:
                              - 1723027132
                              - 1723027200
                              - 1723027300
                          updatedAt:
                            type: number
                            description: Last update time of the order (timestamp)
                            examples:
                              - 1723027132
                              - 1723027200
                              - 1723027300
                          status:
                            anyOf:
                              - type: string
                                enum:
                                  - Pending
                                  - Processing
                                  - Success
                                  - Failed
                                  - Canceled
                                  - Reviewing
                                description: >-
                                  Common status values that are shared across
                                  all operation types
                                examples:
                                  - Pending
                                  - Processing
                                  - Success
                                  - Failed
                                  - Canceled
                                  - Reviewing
                              - type: string
                                enum:
                                  - Received
                                  - Exchanging
                                  - Exchanged
                                  - WithdrawProcessing
                                  - Withdrawn
                                  - OffRampProcessing
                                  - OffRamped
                                  - Deleted
                                  - PendingCancel
                                  - Closed
                                  - WaitingForFundsToExchange
                                  - WaitingForFundsToSend
                                  - WaitingForFundsToOffRamp
                                  - OffRampDocPending
                                  - OnRampDocPending
                                  - WaitingForConfirmations
                                  - PriceChanged
                                  - Refunded
                                  - PreparedToOffRamp
                                  - WithdrawOfframpProcessing
                                  - WaitingForFundsToSendOfframp
                                  - WaitingForPayoutSettlement
                                  - WithdrawPending
                                  - WithdrawPendingOfframp
                            description: >-
                              Status of the order. A newly created order is
                              typically `Pending`; a balance-funded order may
                              start further along.
                            examples:
                              - Pending
                          externalReference:
                            type: string
                            description: >-
                              External reference of the order, as you supplied
                              it on create.
                          externalRefeference:
                            type: string
                            description: >-
                              Deprecated misspelling of `externalReference` —
                              same value. Read `externalReference` instead; this
                              key remains for backward compatibility and will be
                              removed in a future major version.
                            deprecated: true
                          fee:
                            type: number
                            minimum: 0
                            description: >-
                              Total fee for the order once all the execution is
                              completed
                            examples:
                              - 6.37
                              - 8.5
                              - 10.25
                          expectedFee:
                            type: number
                            minimum: 0
                            exclusiveMinimum: true
                            description: Expected fee given the initial deposit amount
                            examples:
                              - 6.88
                              - 9.2
                              - 11.5
                          expectedGasFee:
                            type: number
                            description: Expected gas fee if the withdrawal is with crypto
                            examples:
                              - 6.88
                              - 8.5
                              - 10.25
                          feeCurrency:
                            type: string
                            description: Currency of the fee
                            examples:
                              - EUR
                              - USD
                              - GBP
                        required:
                          - orderId
                          - createdAt
                          - status
                          - fee
                          - expectedFee
                          - feeCurrency
                        description: Response schema for creating an order
                      - type: object
                        properties:
                          transferId:
                            type: string
                            description: Linked transfer ID
                          message:
                            type: string
                            description: Success or error message
                    description: Response schema for creating an order
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            Conflict — the transfer cannot be used in its current state: it is
            under review by the VirtuaBroker team (for example, pending name
            verification) or already linked to another order or deposit. The
            error message explains the specific reason.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/create-order",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "quoteId": "QUOTE123",
                  "accountId": "jane.doe@example.com",
                  "destination": {
                    "contactId": "string",
                    "contactEmail": "string",
                    "addressId": "string"
                  },
                  "originCountry": "CI",
                  "userData": {
                    "userType": "individual",
                    "firstName": "John",
                    "lastName": "Doe",
                    "userEmail": "user@virtuabroker.com",
                    "address": "123 Main St, Anytown, ES",
                    "taxDocumentType": "CC",
                    "taxId": "123-45-6789",
                    "country": "ES",
                    "state": "Madrid",
                    "postalCode": "12345",
                    "city": "Madrid",
                    "dob": "1990-01-01",
                    "phoneNumber": "+447700900123",
                    "kycId": "kyc-12345",
                    "activity": "worker"
                  },
                  "destinationUserData": {
                    "userType": "individual",
                    "firstName": "John",
                    "lastName": "Doe",
                    "userEmail": "user@virtuabroker.com",
                    "address": "123 Main St, Anytown, ES",
                    "taxDocumentType": "CC",
                    "taxId": "123-45-6789",
                    "country": "ES",
                    "state": "Madrid",
                    "postalCode": "12345",
                    "city": "Madrid",
                    "dob": "1990-01-01",
                    "phoneNumber": "+447700900123",
                    "kycId": "kyc-12345",
                    "activity": "worker"
                  },
                  "destinationTransferData": {
                    "type": "BALANCE"
                  },
                  "externalReference": "order-2026-000123",
                  "integrationSessionId": "int_a1B2c3D4e5F6g7H8",
                  "tradeDetails": {
                    "businessType": "GOODS_TRADE",
                    "contractNo": "string",
                    "website": "string",
                    "products": [
                      {
                        "name": "string",
                        "quantity": 0,
                        "unit": "string",
                        "category": "string"
                      }
                    ]
                  },
                  "transferId": "12345"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/create-order",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "quoteId": "QUOTE123",
                    "accountId": "jane.doe@example.com",
                    "destination": {
                        "contactId": "string",
                        "contactEmail": "string",
                        "addressId": "string"
                    },
                    "originCountry": "CI",
                    "userData": {
                        "userType": "individual",
                        "firstName": "John",
                        "lastName": "Doe",
                        "userEmail": "user@virtuabroker.com",
                        "address": "123 Main St, Anytown, ES",
                        "taxDocumentType": "CC",
                        "taxId": "123-45-6789",
                        "country": "ES",
                        "state": "Madrid",
                        "postalCode": "12345",
                        "city": "Madrid",
                        "dob": "1990-01-01",
                        "phoneNumber": "+447700900123",
                        "kycId": "kyc-12345",
                        "activity": "worker"
                    },
                    "destinationUserData": {
                        "userType": "individual",
                        "firstName": "John",
                        "lastName": "Doe",
                        "userEmail": "user@virtuabroker.com",
                        "address": "123 Main St, Anytown, ES",
                        "taxDocumentType": "CC",
                        "taxId": "123-45-6789",
                        "country": "ES",
                        "state": "Madrid",
                        "postalCode": "12345",
                        "city": "Madrid",
                        "dob": "1990-01-01",
                        "phoneNumber": "+447700900123",
                        "kycId": "kyc-12345",
                        "activity": "worker"
                    },
                    "destinationTransferData": {
                        "type": "BALANCE"
                    },
                    "externalReference": "order-2026-000123",
                    "integrationSessionId": "int_a1B2c3D4e5F6g7H8",
                    "tradeDetails": {
                        "businessType": "GOODS_TRADE",
                        "contractNo": "string",
                        "website": "string",
                        "products": [
                            {
                                "name": "string",
                                "quantity": 0,
                                "unit": "string",
                                "category": "string"
                            }
                        ]
                    },
                    "transferId": "12345"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/create-order"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "quoteId": "QUOTE123",
              "accountId": "jane.doe@example.com",
              "destination": {
                "contactId": "string",
                "contactEmail": "string",
                "addressId": "string"
              },
              "originCountry": "CI",
              "userData": {
                "userType": "individual",
                "firstName": "John",
                "lastName": "Doe",
                "userEmail": "user@virtuabroker.com",
                "address": "123 Main St, Anytown, ES",
                "taxDocumentType": "CC",
                "taxId": "123-45-6789",
                "country": "ES",
                "state": "Madrid",
                "postalCode": "12345",
                "city": "Madrid",
                "dob": "1990-01-01",
                "phoneNumber": "+447700900123",
                "kycId": "kyc-12345",
                "activity": "worker"
              },
              "destinationUserData": {
                "userType": "individual",
                "firstName": "John",
                "lastName": "Doe",
                "userEmail": "user@virtuabroker.com",
                "address": "123 Main St, Anytown, ES",
                "taxDocumentType": "CC",
                "taxId": "123-45-6789",
                "country": "ES",
                "state": "Madrid",
                "postalCode": "12345",
                "city": "Madrid",
                "dob": "1990-01-01",
                "phoneNumber": "+447700900123",
                "kycId": "kyc-12345",
                "activity": "worker"
              },
              "destinationTransferData": {
                "type": "BALANCE"
              },
              "externalReference": "order-2026-000123",
              "integrationSessionId": "int_a1B2c3D4e5F6g7H8",
              "tradeDetails": {
                "businessType": "GOODS_TRADE",
                "contractNo": "string",
                "website": "string",
                "products": [
                  {
                    "name": "string",
                    "quantity": 0,
                    "unit": "string",
                    "category": "string"
                  }
                ]
              },
              "transferId": "12345"
            }'
  /v1/pending-payments/{transferId}/remove-prelink:
    post:
      summary: Remove a pre-link suggestion
      description: >-
        Removes an automatic pre-linking suggestion from a pending transfer,
        allowing it to be matched to a different order or deposit.
      tags:
        - Pending Payments
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
          required: true
          name: transferId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                transferId:
                  type: string
                  description: Transfer ID without provider prefix (from path parameter)
                  example: '12345'
                reason:
                  type: string
                  minLength: 1
                  description: Reason for removing prelink (from request body)
                  example: Incorrect prelink match
              required:
                - transferId
                - reason
      responses:
        '200':
          description: Pre-link removed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      message:
                        type: string
                      transferId:
                        type: string
                    required:
                      - transferId
                required:
                  - ok
                  - value
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/remove-prelink",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "transferId": "12345",
                  "reason": "Incorrect prelink match"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/remove-prelink",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "transferId": "12345",
                    "reason": "Incorrect prelink match"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X POST
            "https://api.virtuabroker.com/v1/pending-payments/trf_5Xy9Kd1p/remove-prelink"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "transferId": "12345",
              "reason": "Incorrect prelink match"
            }'
  /v1/banking-accounts:
    get:
      summary: List workspace banking accounts
      description: >-
        Returns all Linked Business banking accounts (dedicated IBANs)
        provisioned for the authenticated workspace. One account per currency
        per banking provider. Filter by currency or status.
      tags:
        - Banking Accounts
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 3
            maxLength: 3
            description: Filter by ISO 4217 currency code (e.g. EUR, USD, GBP).
          required: false
          description: Filter by ISO 4217 currency code (e.g. EUR, USD, GBP).
          name: currency
          in: query
        - schema:
            type: string
            enum:
              - PROVISIONING
              - ACTIVE
              - SUSPENDED
              - CLOSED
            description: Filter by account status.
          required: false
          description: Filter by account status.
          name: status
          in: query
      responses:
        '200':
          description: List of banking accounts
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      accounts:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Banking account document ID.
                            workspaceId:
                              type: string
                            accountId:
                              type: string
                              description: >-
                                The org/individual account that owns this
                                banking account.
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code.
                            country:
                              type: string
                              minLength: 2
                              maxLength: 2
                              description: ISO 3166-1 alpha-2 country code.
                            isPrimary:
                              type: boolean
                              description: >-
                                True if this is the preferred account for this
                                currency.
                            status:
                              type: string
                              enum:
                                - PROVISIONING
                                - ACTIVE
                                - SUSPENDED
                                - CLOSED
                            accountOwner:
                              type: object
                              properties:
                                entityName:
                                  type: string
                                  minLength: 1
                                jurisdiction:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                licenseNumber:
                                  type: string
                              required:
                                - entityName
                                - jurisdiction
                              additionalProperties: false
                            bankDetails:
                              type: object
                              properties:
                                iban:
                                  type: string
                                  nullable: true
                                bic:
                                  type: string
                                  nullable: true
                                accountNumber:
                                  type: string
                                  nullable: true
                                accountHolderName:
                                  type: string
                                  description: >-
                                    Beneficiary name to use when sending the
                                    payment.
                                bankName:
                                  type: string
                                  description: Name of the bank holding the account.
                                country:
                                  type: string
                              additionalProperties: false
                              description: >-
                                Bank details populated once the account is
                                ACTIVE.
                            depositMethodId:
                              type: string
                              description: Linked deposit method ID (set once ACTIVE).
                            createdAt:
                              nullable: true
                            updatedAt:
                              nullable: true
                          required:
                            - id
                            - workspaceId
                            - accountId
                            - currency
                            - country
                            - isPrimary
                            - status
                            - accountOwner
                          additionalProperties: false
                      total:
                        type: integer
                    required:
                      - accounts
                      - total
                    additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/banking-accounts", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/banking-accounts",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/banking-accounts" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/banking-accounts/{bankingAccountId}:
    get:
      summary: Get a banking account
      description: >-
        Returns a single Linked Business banking account by its document ID.
        Returns 404 if the account does not exist or belongs to a different
        workspace.
      tags:
        - Banking Accounts
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Banking account document ID.
          required: true
          description: Banking account document ID.
          name: bankingAccountId
          in: path
      responses:
        '200':
          description: Banking account details
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      id:
                        type: string
                        description: Banking account document ID.
                      workspaceId:
                        type: string
                      accountId:
                        type: string
                        description: >-
                          The org/individual account that owns this banking
                          account.
                      currency:
                        type: string
                        minLength: 3
                        maxLength: 3
                        description: ISO 4217 currency code.
                      country:
                        type: string
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      isPrimary:
                        type: boolean
                        description: >-
                          True if this is the preferred account for this
                          currency.
                      status:
                        type: string
                        enum:
                          - PROVISIONING
                          - ACTIVE
                          - SUSPENDED
                          - CLOSED
                      accountOwner:
                        type: object
                        properties:
                          entityName:
                            type: string
                            minLength: 1
                          jurisdiction:
                            type: string
                            minLength: 2
                            maxLength: 2
                          licenseNumber:
                            type: string
                        required:
                          - entityName
                          - jurisdiction
                        additionalProperties: false
                      bankDetails:
                        type: object
                        properties:
                          iban:
                            type: string
                            nullable: true
                          bic:
                            type: string
                            nullable: true
                          accountNumber:
                            type: string
                            nullable: true
                          accountHolderName:
                            type: string
                            description: Beneficiary name to use when sending the payment.
                          bankName:
                            type: string
                            description: Name of the bank holding the account.
                          country:
                            type: string
                        additionalProperties: false
                        description: Bank details populated once the account is ACTIVE.
                      depositMethodId:
                        type: string
                        description: Linked deposit method ID (set once ACTIVE).
                      createdAt:
                        nullable: true
                      updatedAt:
                        nullable: true
                    required:
                      - id
                      - workspaceId
                      - accountId
                      - currency
                      - country
                      - isPrimary
                      - status
                      - accountOwner
                    additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Banking account not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/banking-accounts/ba_2Kd7Rn6t",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/banking-accounts/ba_2Kd7Rn6t",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/banking-accounts/ba_2Kd7Rn6t" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/banking/customers:
    post:
      summary: Create a customer
      description: >-
        Creates a managed end-user (customer) in your workspace: an `individual`
        (identified by email) or an `organisation` (assigned a generated id).
        Individuals start with KYC status `PENDING`; organisations start with
        KYB status `DRAFT`. The customer email is the identifier of an
        individual and cannot be changed later; it is case-insensitive
        (normalized to lowercase). Optionally pass `externalId` — your own
        stable identifier for the customer (for example your CRM record id). It
        is unique within your workspace, and creating again with the same
        `externalId` is idempotent: the existing customer is returned (HTTP 200)
        instead of creating a duplicate, ignoring any other payload differences.
        Retrieve the customer later with `GET
        /v1/banking/customers?externalId=...`.
      tags:
        - Customers
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    customerType:
                      type: string
                      enum:
                        - individual
                    email:
                      type: string
                      minLength: 1
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: >-
                        Customer email — the public identifier of an individual
                        customer. Case-insensitive: it is normalized to
                        lowercase.
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 35
                    lastName:
                      type: string
                      minLength: 1
                      maxLength: 35
                    country:
                      type: string
                      enum:
                        - AW
                        - AF
                        - AO
                        - AI
                        - AX
                        - AL
                        - AD
                        - AE
                        - AR
                        - AM
                        - AS
                        - AQ
                        - TF
                        - AG
                        - AU
                        - AT
                        - AZ
                        - BI
                        - BE
                        - BJ
                        - BQ
                        - BF
                        - BD
                        - BG
                        - BH
                        - BS
                        - BA
                        - BL
                        - BY
                        - BZ
                        - BM
                        - BO
                        - BR
                        - BB
                        - BN
                        - BT
                        - BV
                        - BW
                        - CF
                        - CA
                        - CC
                        - CH
                        - CL
                        - CN
                        - CI
                        - CM
                        - CD
                        - CG
                        - CK
                        - CO
                        - KM
                        - CV
                        - CR
                        - CU
                        - CW
                        - CX
                        - KY
                        - CY
                        - CZ
                        - DE
                        - DJ
                        - DM
                        - DK
                        - DO
                        - DZ
                        - EC
                        - EG
                        - ER
                        - EH
                        - ES
                        - EE
                        - ET
                        - FI
                        - FJ
                        - FK
                        - FR
                        - FO
                        - FM
                        - GA
                        - GB
                        - GE
                        - GG
                        - GH
                        - GI
                        - GN
                        - GP
                        - GM
                        - GW
                        - GQ
                        - GR
                        - GD
                        - GL
                        - GT
                        - GF
                        - GU
                        - GY
                        - HK
                        - HM
                        - HN
                        - HR
                        - HT
                        - HU
                        - ID
                        - IM
                        - IN
                        - IO
                        - IE
                        - IR
                        - IQ
                        - IS
                        - IL
                        - IT
                        - JM
                        - JE
                        - JO
                        - JP
                        - KZ
                        - KE
                        - KG
                        - KH
                        - KI
                        - KN
                        - KR
                        - KW
                        - LA
                        - LB
                        - LR
                        - LY
                        - LC
                        - LI
                        - LK
                        - LS
                        - LT
                        - LU
                        - LV
                        - MO
                        - MF
                        - MA
                        - MC
                        - MD
                        - MG
                        - MV
                        - MX
                        - MH
                        - MK
                        - ML
                        - MT
                        - MM
                        - ME
                        - MN
                        - MP
                        - MZ
                        - MR
                        - MS
                        - MQ
                        - MU
                        - MW
                        - MY
                        - YT
                        - NA
                        - NC
                        - NE
                        - NF
                        - NG
                        - NI
                        - NU
                        - NL
                        - 'NO'
                        - NP
                        - NR
                        - NZ
                        - OM
                        - PK
                        - PA
                        - PN
                        - PE
                        - PH
                        - PW
                        - PG
                        - PL
                        - PR
                        - KP
                        - PT
                        - PY
                        - PS
                        - PF
                        - QA
                        - RE
                        - RO
                        - RU
                        - RW
                        - SA
                        - SD
                        - SN
                        - SG
                        - GS
                        - SH
                        - SJ
                        - SB
                        - SL
                        - SV
                        - SM
                        - SO
                        - PM
                        - RS
                        - SS
                        - ST
                        - SR
                        - SK
                        - SI
                        - SE
                        - SZ
                        - SX
                        - SC
                        - SY
                        - TC
                        - TD
                        - TG
                        - TH
                        - TJ
                        - TK
                        - TM
                        - TL
                        - TO
                        - TT
                        - TN
                        - TR
                        - TV
                        - TW
                        - TZ
                        - UG
                        - UA
                        - UM
                        - UY
                        - US
                        - UZ
                        - VA
                        - VC
                        - VE
                        - VG
                        - VI
                        - VN
                        - VU
                        - WF
                        - WS
                        - YE
                        - ZA
                        - ZM
                        - ZW
                      description: ISO 3166-1 alpha-2 residence country.
                    language:
                      type: string
                      enum:
                        - en
                        - es
                        - pt
                        - fr
                        - de
                        - it
                    defaultCurrency:
                      type: string
                      enum:
                        - AED
                        - AFN
                        - ALL
                        - AMD
                        - ANG
                        - AOA
                        - ARS
                        - AUD
                        - AWG
                        - AZN
                        - BAM
                        - BBD
                        - BDT
                        - BGN
                        - BHD
                        - BIF
                        - BMD
                        - BND
                        - BOB
                        - BRL
                        - BSD
                        - BTN
                        - BWP
                        - BYN
                        - BZD
                        - CAD
                        - CDF
                        - CHF
                        - CLP
                        - CNY
                        - COP
                        - CRC
                        - CUC
                        - CUP
                        - CVE
                        - CZK
                        - DJF
                        - DKK
                        - DOP
                        - DZD
                        - EGP
                        - ERN
                        - ETB
                        - EUR
                        - FJD
                        - FKP
                        - GBP
                        - GEL
                        - GHS
                        - GIP
                        - GMD
                        - GNF
                        - GTQ
                        - GYD
                        - HKD
                        - HNL
                        - HRK
                        - HTG
                        - HUF
                        - IDR
                        - ILS
                        - INR
                        - IQD
                        - IRR
                        - ISK
                        - JMD
                        - JOD
                        - JPY
                        - KES
                        - KGS
                        - KHR
                        - KMF
                        - KPW
                        - KRW
                        - KWD
                        - KYD
                        - KZT
                        - LAK
                        - LBP
                        - LKR
                        - LRD
                        - LSL
                        - LYD
                        - MAD
                        - MDL
                        - MGA
                        - MKD
                        - MMK
                        - MNT
                        - MOP
                        - MRU
                        - MUR
                        - MVR
                        - MWK
                        - MXN
                        - MYR
                        - MZN
                        - NAD
                        - NGN
                        - NIO
                        - NOK
                        - NPR
                        - NZD
                        - OMR
                        - PAB
                        - PEN
                        - PGK
                        - PHP
                        - PKR
                        - PLN
                        - PYG
                        - QAR
                        - RON
                        - RSD
                        - RUB
                        - RWF
                        - SAR
                        - SBD
                        - SCR
                        - SDG
                        - SEK
                        - SGD
                        - SHP
                        - SLE
                        - SLL
                        - SOS
                        - SRD
                        - SSP
                        - STN
                        - SVC
                        - SYP
                        - SZL
                        - THB
                        - TJS
                        - TMT
                        - TND
                        - TOP
                        - TRY
                        - TTD
                        - TVD
                        - TWD
                        - TZS
                        - UAH
                        - UGX
                        - USD
                        - UYU
                        - UYW
                        - UZS
                        - VED
                        - VES
                        - VND
                        - VUV
                        - WST
                        - XAF
                        - XAG
                        - XAU
                        - XBA
                        - XBB
                        - XBC
                        - XBD
                        - XCD
                        - XDR
                        - XOF
                        - XPD
                        - XPF
                        - XPT
                        - XSU
                        - XTS
                        - XUA
                        - XXX
                        - YER
                        - ZAR
                        - ZMW
                        - ZWL
                      description: ISO 4217 currency code (3-letter alphabetic code)
                    externalId:
                      type: string
                      minLength: 1
                      maxLength: 128
                      pattern: ^[A-Za-z0-9._-]+$
                      description: >-
                        Your own stable identifier for this customer (for
                        example your CRM record id). 1-128 characters: letters,
                        digits, dots, underscores, hyphens. Unique within your
                        workspace and immutable once set.
                  required:
                    - customerType
                    - email
                    - firstName
                    - lastName
                    - country
                  additionalProperties: false
                - type: object
                  properties:
                    customerType:
                      type: string
                      enum:
                        - organisation
                    companyName:
                      type: string
                      minLength: 1
                      description: Legal company name.
                    country:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country of incorporation (ISO 3166-1 alpha-2).
                    registrationNumber:
                      type: string
                      minLength: 1
                    language:
                      type: string
                      enum:
                        - en
                        - es
                        - pt
                        - fr
                        - de
                        - it
                    defaultCurrency:
                      type: string
                      enum:
                        - AED
                        - AFN
                        - ALL
                        - AMD
                        - ANG
                        - AOA
                        - ARS
                        - AUD
                        - AWG
                        - AZN
                        - BAM
                        - BBD
                        - BDT
                        - BGN
                        - BHD
                        - BIF
                        - BMD
                        - BND
                        - BOB
                        - BRL
                        - BSD
                        - BTN
                        - BWP
                        - BYN
                        - BZD
                        - CAD
                        - CDF
                        - CHF
                        - CLP
                        - CNY
                        - COP
                        - CRC
                        - CUC
                        - CUP
                        - CVE
                        - CZK
                        - DJF
                        - DKK
                        - DOP
                        - DZD
                        - EGP
                        - ERN
                        - ETB
                        - EUR
                        - FJD
                        - FKP
                        - GBP
                        - GEL
                        - GHS
                        - GIP
                        - GMD
                        - GNF
                        - GTQ
                        - GYD
                        - HKD
                        - HNL
                        - HRK
                        - HTG
                        - HUF
                        - IDR
                        - ILS
                        - INR
                        - IQD
                        - IRR
                        - ISK
                        - JMD
                        - JOD
                        - JPY
                        - KES
                        - KGS
                        - KHR
                        - KMF
                        - KPW
                        - KRW
                        - KWD
                        - KYD
                        - KZT
                        - LAK
                        - LBP
                        - LKR
                        - LRD
                        - LSL
                        - LYD
                        - MAD
                        - MDL
                        - MGA
                        - MKD
                        - MMK
                        - MNT
                        - MOP
                        - MRU
                        - MUR
                        - MVR
                        - MWK
                        - MXN
                        - MYR
                        - MZN
                        - NAD
                        - NGN
                        - NIO
                        - NOK
                        - NPR
                        - NZD
                        - OMR
                        - PAB
                        - PEN
                        - PGK
                        - PHP
                        - PKR
                        - PLN
                        - PYG
                        - QAR
                        - RON
                        - RSD
                        - RUB
                        - RWF
                        - SAR
                        - SBD
                        - SCR
                        - SDG
                        - SEK
                        - SGD
                        - SHP
                        - SLE
                        - SLL
                        - SOS
                        - SRD
                        - SSP
                        - STN
                        - SVC
                        - SYP
                        - SZL
                        - THB
                        - TJS
                        - TMT
                        - TND
                        - TOP
                        - TRY
                        - TTD
                        - TVD
                        - TWD
                        - TZS
                        - UAH
                        - UGX
                        - USD
                        - UYU
                        - UYW
                        - UZS
                        - VED
                        - VES
                        - VND
                        - VUV
                        - WST
                        - XAF
                        - XAG
                        - XAU
                        - XBA
                        - XBB
                        - XBC
                        - XBD
                        - XCD
                        - XDR
                        - XOF
                        - XPD
                        - XPF
                        - XPT
                        - XSU
                        - XTS
                        - XUA
                        - XXX
                        - YER
                        - ZAR
                        - ZMW
                        - ZWL
                      description: ISO 4217 currency code (3-letter alphabetic code)
                    externalId:
                      type: string
                      minLength: 1
                      maxLength: 128
                      pattern: ^[A-Za-z0-9._-]+$
                      description: >-
                        Your own stable identifier for this customer (for
                        example your CRM record id). 1-128 characters: letters,
                        digits, dots, underscores, hyphens. Unique within your
                        workspace and immutable once set.
                  required:
                    - customerType
                    - companyName
                  additionalProperties: false
      responses:
        '201':
          description: Customer created
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      customerId:
                        type: string
                        minLength: 1
                        description: >-
                          Stable customer identifier: the email for individuals,
                          a UUID for organisations.
                      customerType:
                        type: string
                        enum:
                          - individual
                          - organisation
                        description: 'Type of customer: a person or a business.'
                      externalId:
                        type: string
                        description: >-
                          The identifier you supplied at creation to link this
                          customer to your own system. Absent when the customer
                          was created without one.
                      email:
                        type: string
                        minLength: 1
                        maxLength: 254
                        format: email
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: >-
                          Customer email. Present for individuals (equals
                          customerId); individuals are identified by email, so
                          it cannot be updated.
                      firstName:
                        type: string
                        description: First name (individuals).
                      lastName:
                        type: string
                        description: Last name (individuals).
                      displayName:
                        type: string
                        description: >-
                          Human-readable name: full name for individuals, legal
                          company name for organisations.
                      country:
                        type: string
                        minLength: 2
                        maxLength: 2
                        description: >-
                          ISO 3166-1 alpha-2 country: residence country for
                          individuals, incorporation country for organisations.
                      language:
                        type: string
                        enum:
                          - en
                          - es
                          - pt
                          - fr
                          - de
                          - it
                        description: Preferred language.
                      defaultCurrency:
                        type: string
                        enum:
                          - AED
                          - AFN
                          - ALL
                          - AMD
                          - ANG
                          - AOA
                          - ARS
                          - AUD
                          - AWG
                          - AZN
                          - BAM
                          - BBD
                          - BDT
                          - BGN
                          - BHD
                          - BIF
                          - BMD
                          - BND
                          - BOB
                          - BRL
                          - BSD
                          - BTN
                          - BWP
                          - BYN
                          - BZD
                          - CAD
                          - CDF
                          - CHF
                          - CLP
                          - CNY
                          - COP
                          - CRC
                          - CUC
                          - CUP
                          - CVE
                          - CZK
                          - DJF
                          - DKK
                          - DOP
                          - DZD
                          - EGP
                          - ERN
                          - ETB
                          - EUR
                          - FJD
                          - FKP
                          - GBP
                          - GEL
                          - GHS
                          - GIP
                          - GMD
                          - GNF
                          - GTQ
                          - GYD
                          - HKD
                          - HNL
                          - HRK
                          - HTG
                          - HUF
                          - IDR
                          - ILS
                          - INR
                          - IQD
                          - IRR
                          - ISK
                          - JMD
                          - JOD
                          - JPY
                          - KES
                          - KGS
                          - KHR
                          - KMF
                          - KPW
                          - KRW
                          - KWD
                          - KYD
                          - KZT
                          - LAK
                          - LBP
                          - LKR
                          - LRD
                          - LSL
                          - LYD
                          - MAD
                          - MDL
                          - MGA
                          - MKD
                          - MMK
                          - MNT
                          - MOP
                          - MRU
                          - MUR
                          - MVR
                          - MWK
                          - MXN
                          - MYR
                          - MZN
                          - NAD
                          - NGN
                          - NIO
                          - NOK
                          - NPR
                          - NZD
                          - OMR
                          - PAB
                          - PEN
                          - PGK
                          - PHP
                          - PKR
                          - PLN
                          - PYG
                          - QAR
                          - RON
                          - RSD
                          - RUB
                          - RWF
                          - SAR
                          - SBD
                          - SCR
                          - SDG
                          - SEK
                          - SGD
                          - SHP
                          - SLE
                          - SLL
                          - SOS
                          - SRD
                          - SSP
                          - STN
                          - SVC
                          - SYP
                          - SZL
                          - THB
                          - TJS
                          - TMT
                          - TND
                          - TOP
                          - TRY
                          - TTD
                          - TVD
                          - TWD
                          - TZS
                          - UAH
                          - UGX
                          - USD
                          - UYU
                          - UYW
                          - UZS
                          - VED
                          - VES
                          - VND
                          - VUV
                          - WST
                          - XAF
                          - XAG
                          - XAU
                          - XBA
                          - XBB
                          - XBC
                          - XBD
                          - XCD
                          - XDR
                          - XOF
                          - XPD
                          - XPF
                          - XPT
                          - XSU
                          - XTS
                          - XUA
                          - XXX
                          - YER
                          - ZAR
                          - ZMW
                          - ZWL
                        description: Default currency for this customer.
                      kycStatus:
                        type: string
                        enum:
                          - PENDING
                          - REVIEWING
                          - IN_PROGRESS
                          - APPROVED
                          - REJECTED
                          - NOT_AVAILABLE
                        description: >-
                          Identity verification (KYC) status. NOT_AVAILABLE for
                          organisations (see kybStatus).
                      kybStatus:
                        type: string
                        enum:
                          - DRAFT
                          - PENDING_REVIEW
                          - APPROVED
                          - REJECTED
                        description: >-
                          Business verification (KYB) status. Present for
                          organisations.
                      createdAt:
                        type: number
                        description: Creation timestamp (epoch milliseconds).
                      updatedAt:
                        type: number
                        description: >-
                          Last identity/verification update timestamp (epoch
                          milliseconds).
                    required:
                      - customerId
                      - customerType
                      - displayName
                      - kycStatus
                      - createdAt
                      - updatedAt
                    additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: A customer with this email already exists
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/banking/customers", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "customerType": "individual",
                  "email": "string",
                  "firstName": "string",
                  "lastName": "string",
                  "country": "AW",
                  "language": "en",
                  "defaultCurrency": "AED",
                  "externalId": "string"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/banking/customers",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "customerType": "individual",
                    "email": "string",
                    "firstName": "string",
                    "lastName": "string",
                    "country": "AW",
                    "language": "en",
                    "defaultCurrency": "AED",
                    "externalId": "string"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/banking/customers" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "customerType": "individual",
              "email": "string",
              "firstName": "string",
              "lastName": "string",
              "country": "AW",
              "language": "en",
              "defaultCurrency": "AED",
              "externalId": "string"
            }'
    get:
      summary: List customers
      description: >-
        Lists the customers (individuals and organisations) of the authenticated
        workspace. Paginated via `page`/`limit`; use `GET
        /v1/banking/customers/count` for the total under the same filter. Pass
        `externalId` to fetch only the customer you created with that identifier
        (exact match; an unknown `externalId` returns an empty list).
      tags:
        - Customers
      security:
        - oauth2: []
      parameters:
        - schema:
            type: integer
            minimum: 1
            default: 1
          required: false
          name: page
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
          required: false
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 128
            pattern: ^[A-Za-z0-9._-]+$
            description: >-
              Return only the customer you created with this externalId (exact
              match). Unknown externalId returns an empty list.
          required: false
          description: >-
            Return only the customer you created with this externalId (exact
            match). Unknown externalId returns an empty list.
          name: externalId
          in: query
      responses:
        '200':
          description: List of customers
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: array
                    items:
                      type: object
                      properties:
                        customerId:
                          type: string
                          minLength: 1
                          description: >-
                            Stable customer identifier: the email for
                            individuals, a UUID for organisations.
                        customerType:
                          type: string
                          enum:
                            - individual
                            - organisation
                          description: 'Type of customer: a person or a business.'
                        externalId:
                          type: string
                          description: >-
                            The identifier you supplied at creation to link this
                            customer to your own system. Absent when the
                            customer was created without one.
                        email:
                          type: string
                          minLength: 1
                          maxLength: 254
                          format: email
                          pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                          description: >-
                            Customer email. Present for individuals (equals
                            customerId); individuals are identified by email, so
                            it cannot be updated.
                        firstName:
                          type: string
                          description: First name (individuals).
                        lastName:
                          type: string
                          description: Last name (individuals).
                        displayName:
                          type: string
                          description: >-
                            Human-readable name: full name for individuals,
                            legal company name for organisations.
                        country:
                          type: string
                          minLength: 2
                          maxLength: 2
                          description: >-
                            ISO 3166-1 alpha-2 country: residence country for
                            individuals, incorporation country for
                            organisations.
                        language:
                          type: string
                          enum:
                            - en
                            - es
                            - pt
                            - fr
                            - de
                            - it
                          description: Preferred language.
                        defaultCurrency:
                          type: string
                          enum:
                            - AED
                            - AFN
                            - ALL
                            - AMD
                            - ANG
                            - AOA
                            - ARS
                            - AUD
                            - AWG
                            - AZN
                            - BAM
                            - BBD
                            - BDT
                            - BGN
                            - BHD
                            - BIF
                            - BMD
                            - BND
                            - BOB
                            - BRL
                            - BSD
                            - BTN
                            - BWP
                            - BYN
                            - BZD
                            - CAD
                            - CDF
                            - CHF
                            - CLP
                            - CNY
                            - COP
                            - CRC
                            - CUC
                            - CUP
                            - CVE
                            - CZK
                            - DJF
                            - DKK
                            - DOP
                            - DZD
                            - EGP
                            - ERN
                            - ETB
                            - EUR
                            - FJD
                            - FKP
                            - GBP
                            - GEL
                            - GHS
                            - GIP
                            - GMD
                            - GNF
                            - GTQ
                            - GYD
                            - HKD
                            - HNL
                            - HRK
                            - HTG
                            - HUF
                            - IDR
                            - ILS
                            - INR
                            - IQD
                            - IRR
                            - ISK
                            - JMD
                            - JOD
                            - JPY
                            - KES
                            - KGS
                            - KHR
                            - KMF
                            - KPW
                            - KRW
                            - KWD
                            - KYD
                            - KZT
                            - LAK
                            - LBP
                            - LKR
                            - LRD
                            - LSL
                            - LYD
                            - MAD
                            - MDL
                            - MGA
                            - MKD
                            - MMK
                            - MNT
                            - MOP
                            - MRU
                            - MUR
                            - MVR
                            - MWK
                            - MXN
                            - MYR
                            - MZN
                            - NAD
                            - NGN
                            - NIO
                            - NOK
                            - NPR
                            - NZD
                            - OMR
                            - PAB
                            - PEN
                            - PGK
                            - PHP
                            - PKR
                            - PLN
                            - PYG
                            - QAR
                            - RON
                            - RSD
                            - RUB
                            - RWF
                            - SAR
                            - SBD
                            - SCR
                            - SDG
                            - SEK
                            - SGD
                            - SHP
                            - SLE
                            - SLL
                            - SOS
                            - SRD
                            - SSP
                            - STN
                            - SVC
                            - SYP
                            - SZL
                            - THB
                            - TJS
                            - TMT
                            - TND
                            - TOP
                            - TRY
                            - TTD
                            - TVD
                            - TWD
                            - TZS
                            - UAH
                            - UGX
                            - USD
                            - UYU
                            - UYW
                            - UZS
                            - VED
                            - VES
                            - VND
                            - VUV
                            - WST
                            - XAF
                            - XAG
                            - XAU
                            - XBA
                            - XBB
                            - XBC
                            - XBD
                            - XCD
                            - XDR
                            - XOF
                            - XPD
                            - XPF
                            - XPT
                            - XSU
                            - XTS
                            - XUA
                            - XXX
                            - YER
                            - ZAR
                            - ZMW
                            - ZWL
                          description: Default currency for this customer.
                        kycStatus:
                          type: string
                          enum:
                            - PENDING
                            - REVIEWING
                            - IN_PROGRESS
                            - APPROVED
                            - REJECTED
                            - NOT_AVAILABLE
                          description: >-
                            Identity verification (KYC) status. NOT_AVAILABLE
                            for organisations (see kybStatus).
                        kybStatus:
                          type: string
                          enum:
                            - DRAFT
                            - PENDING_REVIEW
                            - APPROVED
                            - REJECTED
                          description: >-
                            Business verification (KYB) status. Present for
                            organisations.
                        createdAt:
                          type: number
                          description: Creation timestamp (epoch milliseconds).
                        updatedAt:
                          type: number
                          description: >-
                            Last identity/verification update timestamp (epoch
                            milliseconds).
                      required:
                        - customerId
                        - customerType
                        - displayName
                        - kycStatus
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/banking/customers", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/banking/customers",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/banking/customers" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/banking/customers/count:
    get:
      summary: Count customers
      description: >-
        Returns the total number of customers in the authenticated workspace
        (same filter as the list endpoint).
      tags:
        - Customers
      security:
        - oauth2: []
      responses:
        '200':
          description: Customer count
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      count:
                        type: integer
                    required:
                      - count
                    additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/banking/customers/count", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/banking/customers/count",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/banking/customers/count" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/banking/customers/{customerId}:
    get:
      summary: Get a customer
      description: >-
        Returns a single customer by id — the email for individuals
        (URL-encoded), the generated id for organisations. Returns 404 if the
        customer does not exist in your workspace.
      tags:
        - Customers
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: >-
              Customer identifier: the email for individuals (URL-encoded,
              case-insensitive), the UUID for organisations.
          required: true
          description: >-
            Customer identifier: the email for individuals (URL-encoded,
            case-insensitive), the UUID for organisations.
          name: customerId
          in: path
      responses:
        '200':
          description: Customer details, including verification status
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      customerId:
                        type: string
                        minLength: 1
                        description: >-
                          Stable customer identifier: the email for individuals,
                          a UUID for organisations.
                      customerType:
                        type: string
                        enum:
                          - individual
                          - organisation
                        description: 'Type of customer: a person or a business.'
                      externalId:
                        type: string
                        description: >-
                          The identifier you supplied at creation to link this
                          customer to your own system. Absent when the customer
                          was created without one.
                      email:
                        type: string
                        minLength: 1
                        maxLength: 254
                        format: email
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: >-
                          Customer email. Present for individuals (equals
                          customerId); individuals are identified by email, so
                          it cannot be updated.
                      firstName:
                        type: string
                        description: First name (individuals).
                      lastName:
                        type: string
                        description: Last name (individuals).
                      displayName:
                        type: string
                        description: >-
                          Human-readable name: full name for individuals, legal
                          company name for organisations.
                      country:
                        type: string
                        minLength: 2
                        maxLength: 2
                        description: >-
                          ISO 3166-1 alpha-2 country: residence country for
                          individuals, incorporation country for organisations.
                      language:
                        type: string
                        enum:
                          - en
                          - es
                          - pt
                          - fr
                          - de
                          - it
                        description: Preferred language.
                      defaultCurrency:
                        type: string
                        enum:
                          - AED
                          - AFN
                          - ALL
                          - AMD
                          - ANG
                          - AOA
                          - ARS
                          - AUD
                          - AWG
                          - AZN
                          - BAM
                          - BBD
                          - BDT
                          - BGN
                          - BHD
                          - BIF
                          - BMD
                          - BND
                          - BOB
                          - BRL
                          - BSD
                          - BTN
                          - BWP
                          - BYN
                          - BZD
                          - CAD
                          - CDF
                          - CHF
                          - CLP
                          - CNY
                          - COP
                          - CRC
                          - CUC
                          - CUP
                          - CVE
                          - CZK
                          - DJF
                          - DKK
                          - DOP
                          - DZD
                          - EGP
                          - ERN
                          - ETB
                          - EUR
                          - FJD
                          - FKP
                          - GBP
                          - GEL
                          - GHS
                          - GIP
                          - GMD
                          - GNF
                          - GTQ
                          - GYD
                          - HKD
                          - HNL
                          - HRK
                          - HTG
                          - HUF
                          - IDR
                          - ILS
                          - INR
                          - IQD
                          - IRR
                          - ISK
                          - JMD
                          - JOD
                          - JPY
                          - KES
                          - KGS
                          - KHR
                          - KMF
                          - KPW
                          - KRW
                          - KWD
                          - KYD
                          - KZT
                          - LAK
                          - LBP
                          - LKR
                          - LRD
                          - LSL
                          - LYD
                          - MAD
                          - MDL
                          - MGA
                          - MKD
                          - MMK
                          - MNT
                          - MOP
                          - MRU
                          - MUR
                          - MVR
                          - MWK
                          - MXN
                          - MYR
                          - MZN
                          - NAD
                          - NGN
                          - NIO
                          - NOK
                          - NPR
                          - NZD
                          - OMR
                          - PAB
                          - PEN
                          - PGK
                          - PHP
                          - PKR
                          - PLN
                          - PYG
                          - QAR
                          - RON
                          - RSD
                          - RUB
                          - RWF
                          - SAR
                          - SBD
                          - SCR
                          - SDG
                          - SEK
                          - SGD
                          - SHP
                          - SLE
                          - SLL
                          - SOS
                          - SRD
                          - SSP
                          - STN
                          - SVC
                          - SYP
                          - SZL
                          - THB
                          - TJS
                          - TMT
                          - TND
                          - TOP
                          - TRY
                          - TTD
                          - TVD
                          - TWD
                          - TZS
                          - UAH
                          - UGX
                          - USD
                          - UYU
                          - UYW
                          - UZS
                          - VED
                          - VES
                          - VND
                          - VUV
                          - WST
                          - XAF
                          - XAG
                          - XAU
                          - XBA
                          - XBB
                          - XBC
                          - XBD
                          - XCD
                          - XDR
                          - XOF
                          - XPD
                          - XPF
                          - XPT
                          - XSU
                          - XTS
                          - XUA
                          - XXX
                          - YER
                          - ZAR
                          - ZMW
                          - ZWL
                        description: Default currency for this customer.
                      kycStatus:
                        type: string
                        enum:
                          - PENDING
                          - REVIEWING
                          - IN_PROGRESS
                          - APPROVED
                          - REJECTED
                          - NOT_AVAILABLE
                        description: >-
                          Identity verification (KYC) status. NOT_AVAILABLE for
                          organisations (see kybStatus).
                      kybStatus:
                        type: string
                        enum:
                          - DRAFT
                          - PENDING_REVIEW
                          - APPROVED
                          - REJECTED
                        description: >-
                          Business verification (KYB) status. Present for
                          organisations.
                      createdAt:
                        type: number
                        description: Creation timestamp (epoch milliseconds).
                      updatedAt:
                        type: number
                        description: >-
                          Last identity/verification update timestamp (epoch
                          milliseconds).
                    required:
                      - customerId
                      - customerType
                      - displayName
                      - kycStatus
                      - createdAt
                      - updatedAt
                    additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Customer not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID"
            \
              -H "Authorization: Bearer $VB_TOKEN"
    patch:
      summary: Update a customer
      description: >-
        Updates the public-safe preference fields of a customer (`language`,
        `defaultCurrency`). Identity fields are immutable here: an individual
        customer is identified by email, so the email cannot be changed.
      tags:
        - Customers
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: >-
              Customer identifier: the email for individuals (URL-encoded,
              case-insensitive), the UUID for organisations.
          required: true
          description: >-
            Customer identifier: the email for individuals (URL-encoded,
            case-insensitive), the UUID for organisations.
          name: customerId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                language:
                  type: string
                  enum:
                    - en
                    - es
                    - pt
                    - fr
                    - de
                    - it
                defaultCurrency:
                  type: string
                  enum:
                    - AED
                    - AFN
                    - ALL
                    - AMD
                    - ANG
                    - AOA
                    - ARS
                    - AUD
                    - AWG
                    - AZN
                    - BAM
                    - BBD
                    - BDT
                    - BGN
                    - BHD
                    - BIF
                    - BMD
                    - BND
                    - BOB
                    - BRL
                    - BSD
                    - BTN
                    - BWP
                    - BYN
                    - BZD
                    - CAD
                    - CDF
                    - CHF
                    - CLP
                    - CNY
                    - COP
                    - CRC
                    - CUC
                    - CUP
                    - CVE
                    - CZK
                    - DJF
                    - DKK
                    - DOP
                    - DZD
                    - EGP
                    - ERN
                    - ETB
                    - EUR
                    - FJD
                    - FKP
                    - GBP
                    - GEL
                    - GHS
                    - GIP
                    - GMD
                    - GNF
                    - GTQ
                    - GYD
                    - HKD
                    - HNL
                    - HRK
                    - HTG
                    - HUF
                    - IDR
                    - ILS
                    - INR
                    - IQD
                    - IRR
                    - ISK
                    - JMD
                    - JOD
                    - JPY
                    - KES
                    - KGS
                    - KHR
                    - KMF
                    - KPW
                    - KRW
                    - KWD
                    - KYD
                    - KZT
                    - LAK
                    - LBP
                    - LKR
                    - LRD
                    - LSL
                    - LYD
                    - MAD
                    - MDL
                    - MGA
                    - MKD
                    - MMK
                    - MNT
                    - MOP
                    - MRU
                    - MUR
                    - MVR
                    - MWK
                    - MXN
                    - MYR
                    - MZN
                    - NAD
                    - NGN
                    - NIO
                    - NOK
                    - NPR
                    - NZD
                    - OMR
                    - PAB
                    - PEN
                    - PGK
                    - PHP
                    - PKR
                    - PLN
                    - PYG
                    - QAR
                    - RON
                    - RSD
                    - RUB
                    - RWF
                    - SAR
                    - SBD
                    - SCR
                    - SDG
                    - SEK
                    - SGD
                    - SHP
                    - SLE
                    - SLL
                    - SOS
                    - SRD
                    - SSP
                    - STN
                    - SVC
                    - SYP
                    - SZL
                    - THB
                    - TJS
                    - TMT
                    - TND
                    - TOP
                    - TRY
                    - TTD
                    - TVD
                    - TWD
                    - TZS
                    - UAH
                    - UGX
                    - USD
                    - UYU
                    - UYW
                    - UZS
                    - VED
                    - VES
                    - VND
                    - VUV
                    - WST
                    - XAF
                    - XAG
                    - XAU
                    - XBA
                    - XBB
                    - XBC
                    - XBD
                    - XCD
                    - XDR
                    - XOF
                    - XPD
                    - XPF
                    - XPT
                    - XSU
                    - XTS
                    - XUA
                    - XXX
                    - YER
                    - ZAR
                    - ZMW
                    - ZWL
                  description: ISO 4217 currency code (3-letter alphabetic code)
              additionalProperties: false
      responses:
        '200':
          description: Updated customer
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      customerId:
                        type: string
                        minLength: 1
                        description: >-
                          Stable customer identifier: the email for individuals,
                          a UUID for organisations.
                      customerType:
                        type: string
                        enum:
                          - individual
                          - organisation
                        description: 'Type of customer: a person or a business.'
                      externalId:
                        type: string
                        description: >-
                          The identifier you supplied at creation to link this
                          customer to your own system. Absent when the customer
                          was created without one.
                      email:
                        type: string
                        minLength: 1
                        maxLength: 254
                        format: email
                        pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                        description: >-
                          Customer email. Present for individuals (equals
                          customerId); individuals are identified by email, so
                          it cannot be updated.
                      firstName:
                        type: string
                        description: First name (individuals).
                      lastName:
                        type: string
                        description: Last name (individuals).
                      displayName:
                        type: string
                        description: >-
                          Human-readable name: full name for individuals, legal
                          company name for organisations.
                      country:
                        type: string
                        minLength: 2
                        maxLength: 2
                        description: >-
                          ISO 3166-1 alpha-2 country: residence country for
                          individuals, incorporation country for organisations.
                      language:
                        type: string
                        enum:
                          - en
                          - es
                          - pt
                          - fr
                          - de
                          - it
                        description: Preferred language.
                      defaultCurrency:
                        type: string
                        enum:
                          - AED
                          - AFN
                          - ALL
                          - AMD
                          - ANG
                          - AOA
                          - ARS
                          - AUD
                          - AWG
                          - AZN
                          - BAM
                          - BBD
                          - BDT
                          - BGN
                          - BHD
                          - BIF
                          - BMD
                          - BND
                          - BOB
                          - BRL
                          - BSD
                          - BTN
                          - BWP
                          - BYN
                          - BZD
                          - CAD
                          - CDF
                          - CHF
                          - CLP
                          - CNY
                          - COP
                          - CRC
                          - CUC
                          - CUP
                          - CVE
                          - CZK
                          - DJF
                          - DKK
                          - DOP
                          - DZD
                          - EGP
                          - ERN
                          - ETB
                          - EUR
                          - FJD
                          - FKP
                          - GBP
                          - GEL
                          - GHS
                          - GIP
                          - GMD
                          - GNF
                          - GTQ
                          - GYD
                          - HKD
                          - HNL
                          - HRK
                          - HTG
                          - HUF
                          - IDR
                          - ILS
                          - INR
                          - IQD
                          - IRR
                          - ISK
                          - JMD
                          - JOD
                          - JPY
                          - KES
                          - KGS
                          - KHR
                          - KMF
                          - KPW
                          - KRW
                          - KWD
                          - KYD
                          - KZT
                          - LAK
                          - LBP
                          - LKR
                          - LRD
                          - LSL
                          - LYD
                          - MAD
                          - MDL
                          - MGA
                          - MKD
                          - MMK
                          - MNT
                          - MOP
                          - MRU
                          - MUR
                          - MVR
                          - MWK
                          - MXN
                          - MYR
                          - MZN
                          - NAD
                          - NGN
                          - NIO
                          - NOK
                          - NPR
                          - NZD
                          - OMR
                          - PAB
                          - PEN
                          - PGK
                          - PHP
                          - PKR
                          - PLN
                          - PYG
                          - QAR
                          - RON
                          - RSD
                          - RUB
                          - RWF
                          - SAR
                          - SBD
                          - SCR
                          - SDG
                          - SEK
                          - SGD
                          - SHP
                          - SLE
                          - SLL
                          - SOS
                          - SRD
                          - SSP
                          - STN
                          - SVC
                          - SYP
                          - SZL
                          - THB
                          - TJS
                          - TMT
                          - TND
                          - TOP
                          - TRY
                          - TTD
                          - TVD
                          - TWD
                          - TZS
                          - UAH
                          - UGX
                          - USD
                          - UYU
                          - UYW
                          - UZS
                          - VED
                          - VES
                          - VND
                          - VUV
                          - WST
                          - XAF
                          - XAG
                          - XAU
                          - XBA
                          - XBB
                          - XBC
                          - XBD
                          - XCD
                          - XDR
                          - XOF
                          - XPD
                          - XPF
                          - XPT
                          - XSU
                          - XTS
                          - XUA
                          - XXX
                          - YER
                          - ZAR
                          - ZMW
                          - ZWL
                        description: Default currency for this customer.
                      kycStatus:
                        type: string
                        enum:
                          - PENDING
                          - REVIEWING
                          - IN_PROGRESS
                          - APPROVED
                          - REJECTED
                          - NOT_AVAILABLE
                        description: >-
                          Identity verification (KYC) status. NOT_AVAILABLE for
                          organisations (see kybStatus).
                      kybStatus:
                        type: string
                        enum:
                          - DRAFT
                          - PENDING_REVIEW
                          - APPROVED
                          - REJECTED
                        description: >-
                          Business verification (KYB) status. Present for
                          organisations.
                      createdAt:
                        type: number
                        description: Creation timestamp (epoch milliseconds).
                      updatedAt:
                        type: number
                        description: >-
                          Last identity/verification update timestamp (epoch
                          milliseconds).
                    required:
                      - customerId
                      - customerType
                      - displayName
                      - kycStatus
                      - createdAt
                      - updatedAt
                    additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Customer not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID",
            {
                method: "PATCH",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "language": "en",
                  "defaultCurrency": "AED"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.patch(
                "https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "language": "en",
                    "defaultCurrency": "AED"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X PATCH
            "https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "language": "en",
              "defaultCurrency": "AED"
            }'
    delete:
      summary: Delete a customer
      description: >-
        Soft-deletes a customer from your workspace. The customer stops
        appearing in listings; historical operations are preserved.
      tags:
        - Customers
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: >-
              Customer identifier: the email for individuals (URL-encoded,
              case-insensitive), the UUID for organisations.
          required: true
          description: >-
            Customer identifier: the email for individuals (URL-encoded,
            case-insensitive), the UUID for organisations.
          name: customerId
          in: path
      responses:
        '200':
          description: Customer deleted
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    nullable: true
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Customer not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID",
            {
                method: "DELETE",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.delete(
                "https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X DELETE
            "https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/banking/customers/{customerId}/kyc:
    get:
      summary: Get customer KYC status
      description: >-
        Returns the current identity-verification (KYC) status of a customer. To
        run a verification, use the existing `/v1/kyc` session flow.
      tags:
        - Customers
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: >-
              Customer identifier: the email for individuals (URL-encoded,
              case-insensitive), the UUID for organisations.
          required: true
          description: >-
            Customer identifier: the email for individuals (URL-encoded,
            case-insensitive), the UUID for organisations.
          name: customerId
          in: path
      responses:
        '200':
          description: Customer KYC status
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - PENDING
                          - REVIEWING
                          - IN_PROGRESS
                          - APPROVED
                          - REJECTED
                          - NOT_AVAILABLE
                    required:
                      - status
                    additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Customer not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID/kyc",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID/kyc",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/banking/customers/YOUR_CUSTOMERID/kyc"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/payment-requests:
    post:
      summary: Create a payment request
      description: >-
        Creates a payment link on behalf of a managed customer (`accountId` =
        the payee who receives the funds). Returns the request id and the hosted
        checkout `url` the payer completes the payment on. `general` requests
        are payable by anyone with the link; `nominal` requests target one payer
        (`recipient`). The requested `currency` settles to the payee balance, so
        it must be holdable (see `GET /v1/currencies`).
      tags:
        - PaymentRequests
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - general
                    - nominal
                  description: >-
                    `general` = payable by anyone with the link; `nominal` =
                    targeted at one payer (requires `recipient`).
                amount:
                  type: number
                  minimum: 0
                  exclusiveMinimum: true
                  description: Amount to request.
                currency:
                  type: string
                  minLength: 1
                  description: >-
                    Settlement currency (what the payee receives). Must be
                    holdable as a balance — see GET /v1/currencies.
                accountId:
                  type: string
                  minLength: 1
                  description: >-
                    The managed customer (payee) who receives the funds. Must
                    belong to your workspace.
                recipient:
                  type: object
                  properties:
                    accountId:
                      type: string
                      minLength: 1
                    contactEmail:
                      type: string
                      minLength: 1
                      maxLength: 254
                      format: email
                      pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                      description: Email address
                  additionalProperties: false
                  description: >-
                    The payer being asked to pay. Required for `nominal`,
                    forbidden for `general`.
                lockedPaymentCurrency:
                  type: string
                  minLength: 1
                  description: Forces the payer to pay in exactly this currency.
                description:
                  type: string
                  maxLength: 500
                expiresAt:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  description: Expiry timestamp (epoch milliseconds).
              required:
                - type
                - amount
                - currency
                - accountId
              additionalProperties: false
      responses:
        '201':
          description: Payment request created
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      paymentRequestId:
                        type: string
                        minLength: 1
                      url:
                        type: string
                        minLength: 1
                        description: >-
                          Hosted checkout link the payer completes the payment
                          on.
                    required:
                      - paymentRequestId
                      - url
                    additionalProperties: false
                required:
                  - ok
                  - value
        '400':
          description: >-
            Validation failure (payment requests not enabled, non-holdable
            currency, missing recipient, ...)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '403':
          description: The accountId does not belong to this workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/payment-requests", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "type": "general",
                  "amount": 0,
                  "currency": "string",
                  "accountId": "string",
                  "recipient": {
                    "accountId": "string",
                    "contactEmail": "string"
                  },
                  "lockedPaymentCurrency": "string",
                  "description": "string",
                  "expiresAt": 0
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/payment-requests",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "type": "general",
                    "amount": 0,
                    "currency": "string",
                    "accountId": "string",
                    "recipient": {
                        "accountId": "string",
                        "contactEmail": "string"
                    },
                    "lockedPaymentCurrency": "string",
                    "description": "string",
                    "expiresAt": 0
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/payment-requests" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "type": "general",
              "amount": 0,
              "currency": "string",
              "accountId": "string",
              "recipient": {
                "accountId": "string",
                "contactEmail": "string"
              },
              "lockedPaymentCurrency": "string",
              "description": "string",
              "expiresAt": 0
            }'
    get:
      summary: List payment requests
      description: >-
        Lists the payment requests of the authenticated workspace, optionally
        filtered by lifecycle `status`. Paginated via `page`/`limit`; use `GET
        /v1/payment-requests/count` for the total under the same filter.
      tags:
        - PaymentRequests
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            enum:
              - open
              - processing
              - paid
              - expired
              - cancelled
              - rejected
          required: false
          name: status
          in: query
        - schema:
            type: integer
            minimum: 1
            default: 1
          required: false
          name: page
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
          required: false
          name: limit
          in: query
      responses:
        '200':
          description: List of payment requests
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: array
                    items:
                      type: object
                      properties:
                        paymentRequestId:
                          type: string
                          minLength: 1
                        type:
                          type: string
                          enum:
                            - general
                            - nominal
                        status:
                          type: string
                          enum:
                            - open
                            - processing
                            - paid
                            - expired
                            - cancelled
                            - rejected
                        recipient:
                          type: object
                          nullable: true
                          properties:
                            accountId:
                              type: string
                              minLength: 1
                            contactEmail:
                              type: string
                              minLength: 1
                              maxLength: 254
                              format: email
                              pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                              description: Email address
                          additionalProperties: false
                        destinationLabel:
                          type: string
                          nullable: true
                          description: Display name of the payee requesting the funds.
                        requestedAmount:
                          type: number
                        requestedCurrency:
                          type: string
                        lockedPaymentCurrency:
                          type: string
                          nullable: true
                        description:
                          type: string
                          nullable: true
                        notes:
                          type: string
                          nullable: true
                        orderId:
                          type: string
                          nullable: true
                        viewedAt:
                          type: number
                          nullable: true
                          description: First time the payer opened the pay page (epoch ms).
                        paymentStartedAt:
                          type: number
                          nullable: true
                          description: >-
                            When the payer accepted and the order was created
                            (epoch ms).
                        createdAt:
                          type: number
                        updatedAt:
                          type: number
                        expiresAt:
                          type: number
                          nullable: true
                        settlement:
                          type: object
                          properties:
                            status:
                              type: string
                              nullable: true
                              description: Status of the linked payment order.
                            originAmount:
                              type: number
                              nullable: true
                            originCurrency:
                              type: string
                              nullable: true
                          required:
                            - status
                            - originAmount
                            - originCurrency
                          additionalProperties: false
                      required:
                        - paymentRequestId
                        - type
                        - status
                        - recipient
                        - destinationLabel
                        - requestedAmount
                        - requestedCurrency
                        - lockedPaymentCurrency
                        - description
                        - notes
                        - orderId
                        - viewedAt
                        - paymentStartedAt
                        - createdAt
                        - updatedAt
                        - expiresAt
                      additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/payment-requests", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/payment-requests",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/payment-requests" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/payment-requests/count:
    get:
      summary: Count payment requests
      description: >-
        Returns the total number of payment requests in the authenticated
        workspace (same filter as the list endpoint).
      tags:
        - PaymentRequests
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            enum:
              - open
              - processing
              - paid
              - expired
              - cancelled
              - rejected
          required: false
          name: status
          in: query
      responses:
        '200':
          description: Payment request count
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      count:
                        type: integer
                    required:
                      - count
                    additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/payment-requests/count", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/payment-requests/count",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET "https://api.virtuabroker.com/v1/payment-requests/count"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/payment-requests/{paymentRequestId}:
    get:
      summary: Get payment request status
      description: >-
        Returns the lifecycle status of a payment request (`open`, `processing`,
        `paid`, `expired`, `cancelled`, `rejected`). Once a payer accepts, the
        response also carries a `settlement` block with the linked order status
        and origin amount/currency. `status` flips to `paid` automatically when
        the linked order succeeds.
      tags:
        - PaymentRequests
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
          required: true
          name: paymentRequestId
          in: path
      responses:
        '200':
          description: Payment request status
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      paymentRequestId:
                        type: string
                        minLength: 1
                      type:
                        type: string
                        enum:
                          - general
                          - nominal
                      status:
                        type: string
                        enum:
                          - open
                          - processing
                          - paid
                          - expired
                          - cancelled
                          - rejected
                      recipient:
                        type: object
                        nullable: true
                        properties:
                          accountId:
                            type: string
                            minLength: 1
                          contactEmail:
                            type: string
                            minLength: 1
                            maxLength: 254
                            format: email
                            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
                            description: Email address
                        additionalProperties: false
                      destinationLabel:
                        type: string
                        nullable: true
                        description: Display name of the payee requesting the funds.
                      requestedAmount:
                        type: number
                      requestedCurrency:
                        type: string
                      lockedPaymentCurrency:
                        type: string
                        nullable: true
                      description:
                        type: string
                        nullable: true
                      notes:
                        type: string
                        nullable: true
                      orderId:
                        type: string
                        nullable: true
                      viewedAt:
                        type: number
                        nullable: true
                        description: First time the payer opened the pay page (epoch ms).
                      paymentStartedAt:
                        type: number
                        nullable: true
                        description: >-
                          When the payer accepted and the order was created
                          (epoch ms).
                      createdAt:
                        type: number
                      updatedAt:
                        type: number
                      expiresAt:
                        type: number
                        nullable: true
                      settlement:
                        type: object
                        properties:
                          status:
                            type: string
                            nullable: true
                            description: Status of the linked payment order.
                          originAmount:
                            type: number
                            nullable: true
                          originCurrency:
                            type: string
                            nullable: true
                        required:
                          - status
                          - originAmount
                          - originCurrency
                        additionalProperties: false
                    required:
                      - paymentRequestId
                      - type
                      - status
                      - recipient
                      - destinationLabel
                      - requestedAmount
                      - requestedCurrency
                      - lockedPaymentCurrency
                      - description
                      - notes
                      - orderId
                      - viewedAt
                      - paymentStartedAt
                      - createdAt
                      - updatedAt
                      - expiresAt
                    additionalProperties: false
                required:
                  - ok
                  - value
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Payment request not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/payment-requests/YOUR_PAYMENTREQUESTID",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/payment-requests/YOUR_PAYMENTREQUESTID",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/payment-requests/YOUR_PAYMENTREQUESTID"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/webhooks/resend:
    post:
      summary: Resend a webhook for an order or deposit
      description: >-
        Re-delivers the most recent webhook event for a completed order or
        deposit to your registered endpoints. Provide the `entityType` and its
        `entityId`; optionally set `webhookType` to override the event type.
        Only succeeds for entities in a terminal (completed) state.
      tags:
        - Webhooks
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                entityType:
                  type: string
                  enum:
                    - order
                    - deposit
                  description: Type of entity to resend the webhook for
                  example: order
                entityId:
                  type: string
                  minLength: 1
                  description: ID of the order or deposit
                  example: ABC123DEF456
                webhookType:
                  type: string
                  enum:
                    - verification_status_updated
                    - order_status_updated
                    - order_completed
                    - deposit_completed
                    - deposit_partially_completed
                    - deposit_method_created
                    - deposit_method_activated
                    - trade_completed
                    - trade_partially_completed
                    - withdrawal_completed
                    - withdrawal_partially_completed
                    - offramp_completed
                    - offramp_partially_completed
                    - balance_updated
                    - wallet_deposit_completed
                    - openbanking_status_updated
                    - compliance_case_pending_action
                    - compliance_case_updated
                    - conversation_created
                    - conversation_updated
                    - conversation_message_created
                    - pending_payment_created_or_detected
                    - pending_payment_updated
                    - deposit_action_required
                  description: >-
                    Override the webhook event type; defaults to the most recent
                    type for the entity
              required:
                - entityType
                - entityId
      responses:
        '200':
          description: Resend result — whether a webhook was sent
          content:
            application/json:
              schema:
                type: object
                properties:
                  sent:
                    type: boolean
                    description: True if a webhook was re-delivered for the entity
                required:
                  - sent
        '400':
          description: Bad request (validation error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Order or deposit not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/webhooks/resend", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "entityType": "order",
                  "entityId": "ABC123DEF456",
                  "webhookType": "verification_status_updated"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/webhooks/resend",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "entityType": "order",
                    "entityId": "ABC123DEF456",
                    "webhookType": "verification_status_updated"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/webhooks/resend" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "entityType": "order",
              "entityId": "ABC123DEF456",
              "webhookType": "verification_status_updated"
            }'
  /v1/webhooks:
    post:
      summary: Create a webhook endpoint
      description: >-
        Registers a new HTTPS webhook endpoint for the authenticated workspace.
        Provide a `name`, an HTTPS `url`, and a `secret` used to sign deliveries
        (`X-VirtuaBroker-Signature-256`). The secret is never returned after
        creation.
      tags:
        - Webhooks
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 100
                  description: Human-readable label for this endpoint, e.g. "Production"
                  example: Production
                url:
                  type: string
                  format: uri
                  description: HTTPS URL that will receive webhook POST requests
                  example: https://api.example.com/webhooks/virtuabroker
                secret:
                  type: string
                  minLength: 8
                  description: >-
                    Signing secret used to compute the
                    X-VirtuaBroker-Signature-256 header. Store this securely —
                    it is never returned after creation.
                  example: whsec_my_very_secret_key
              required:
                - name
                - url
                - secret
      responses:
        '200':
          description: Webhook endpoint created (secret omitted)
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  url:
                    type: string
                    format: uri
                  isActive:
                    type: boolean
                  createdAt:
                    type: number
                  updatedAt:
                    type: number
                required:
                  - id
                  - name
                  - url
                  - isActive
                  - createdAt
                  - updatedAt
                description: Webhook endpoint — secret is never included in responses
                example:
                  id: abc123def456
                  name: Production
                  url: https://api.example.com/webhooks/virtuabroker
                  isActive: true
                  createdAt: 1704067200000
                  updatedAt: 1704067200000
        '400':
          description: Bad request (validation error or non-HTTPS URL)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await fetch("https://api.virtuabroker.com/v1/webhooks",
            {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "name": "Production",
                  "url": "https://api.example.com/webhooks/virtuabroker",
                  "secret": "whsec_my_very_secret_key"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/webhooks",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "name": "Production",
                    "url": "https://api.example.com/webhooks/virtuabroker",
                    "secret": "whsec_my_very_secret_key"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/webhooks" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "name": "Production",
              "url": "https://api.example.com/webhooks/virtuabroker",
              "secret": "whsec_my_very_secret_key"
            }'
    get:
      summary: List webhook endpoints
      description: >-
        Returns all webhook endpoints registered for the authenticated
        workspace. Secrets are never included.
      tags:
        - Webhooks
      security:
        - oauth2: []
      responses:
        '200':
          description: List of webhook endpoints
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    name:
                      type: string
                    url:
                      type: string
                      format: uri
                    isActive:
                      type: boolean
                    createdAt:
                      type: number
                    updatedAt:
                      type: number
                  required:
                    - id
                    - name
                    - url
                    - isActive
                    - createdAt
                    - updatedAt
                  description: Webhook endpoint — secret is never included in responses
                  example:
                    id: abc123def456
                    name: Production
                    url: https://api.example.com/webhooks/virtuabroker
                    isActive: true
                    createdAt: 1704067200000
                    updatedAt: 1704067200000
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await fetch("https://api.virtuabroker.com/v1/webhooks",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/webhooks",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/webhooks" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/webhooks/{id}:
    get:
      summary: Get a webhook endpoint
      description: Returns a single webhook endpoint by its id. Secrets are never included.
      tags:
        - Webhooks
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
          required: true
          name: id
          in: path
      responses:
        '200':
          description: Webhook endpoint details (secret omitted)
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  url:
                    type: string
                    format: uri
                  isActive:
                    type: boolean
                  createdAt:
                    type: number
                  updatedAt:
                    type: number
                required:
                  - id
                  - name
                  - url
                  - isActive
                  - createdAt
                  - updatedAt
                description: Webhook endpoint — secret is never included in responses
                example:
                  id: abc123def456
                  name: Production
                  url: https://api.example.com/webhooks/virtuabroker
                  isActive: true
                  createdAt: 1704067200000
                  updatedAt: 1704067200000
        '404':
          description: Webhook endpoint not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/webhooks/wh_ep_1a2b3c", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/webhooks/wh_ep_1a2b3c",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET "https://api.virtuabroker.com/v1/webhooks/wh_ep_1a2b3c"
            \
              -H "Authorization: Bearer $VB_TOKEN"
    put:
      summary: Update a webhook endpoint
      description: >-
        Updates a webhook endpoint by its id. Provide any subset of `name`,
        `url` (HTTPS), `secret`, and `isActive`; at least one field is required.
      tags:
        - Webhooks
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
          required: true
          name: id
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 100
                url:
                  type: string
                  format: uri
                secret:
                  type: string
                  minLength: 8
                isActive:
                  type: boolean
      responses:
        '200':
          description: Updated webhook endpoint (secret omitted)
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  url:
                    type: string
                    format: uri
                  isActive:
                    type: boolean
                  createdAt:
                    type: number
                  updatedAt:
                    type: number
                required:
                  - id
                  - name
                  - url
                  - isActive
                  - createdAt
                  - updatedAt
                description: Webhook endpoint — secret is never included in responses
                example:
                  id: abc123def456
                  name: Production
                  url: https://api.example.com/webhooks/virtuabroker
                  isActive: true
                  createdAt: 1704067200000
                  updatedAt: 1704067200000
        '400':
          description: Bad request (validation error or non-HTTPS URL)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: Webhook endpoint not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/webhooks/wh_ep_1a2b3c", {
                method: "PUT",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "name": "string",
                  "url": "string",
                  "secret": "string",
                  "isActive": true
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.put(
                "https://api.virtuabroker.com/v1/webhooks/wh_ep_1a2b3c",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "name": "string",
                    "url": "string",
                    "secret": "string",
                    "isActive": True
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X PUT "https://api.virtuabroker.com/v1/webhooks/wh_ep_1a2b3c"
            \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "name": "string",
              "url": "string",
              "secret": "string",
              "isActive": true
            }'
    delete:
      summary: Delete a webhook endpoint
      description: Deletes a webhook endpoint by its id.
      tags:
        - Webhooks
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
          required: true
          name: id
          in: path
      responses:
        '200':
          description: Webhook endpoint deleted
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the endpoint was deleted successfully
                required:
                  - success
        '404':
          description: Webhook endpoint not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/webhooks/wh_ep_1a2b3c", {
                method: "DELETE",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.delete(
                "https://api.virtuabroker.com/v1/webhooks/wh_ep_1a2b3c",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X DELETE
            "https://api.virtuabroker.com/v1/webhooks/wh_ep_1a2b3c" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/orders/count:
    get:
      summary: Count orders
      description: >-
        Returns the number of orders in your workspace matching the same filters
        accepted by GET /v1/orders. A count that cannot be executed returns an
        error rather than 0 — a zero always means "no matching orders", never a
        failure.
      tags:
        - Orders
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Optional currency code to filter the items
            example: EUR
          required: false
          description: Optional currency code to filter the items
          name: currency
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: minAmount
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: maxAmount
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: from
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: to
          in: query
        - schema:
            type: string
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: >-
              Email of the user making the request. For a business payer this
              matches operations under any of its identities — the
              representative email and the organisation account — so listings
              stay complete across both.
            example: user@example.com
          required: false
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          name: userEmail
          in: query
        - schema:
            type: string
            description: >-
              General search (e.g. email or text). When provided, backend may
              use it for userEmail or text search.
          required: false
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
          name: search
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: limit
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: page
          in: query
        - schema:
            anyOf:
              - type: string
                enum:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
                description: >-
                  Common status values that are shared across all operation
                  types
                examples:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
              - type: string
                enum:
                  - Received
                  - Exchanging
                  - Exchanged
                  - WithdrawProcessing
                  - Withdrawn
                  - OffRampProcessing
                  - OffRamped
                  - Deleted
                  - PendingCancel
                  - Closed
                  - WaitingForFundsToExchange
                  - WaitingForFundsToSend
                  - WaitingForFundsToOffRamp
                  - OffRampDocPending
                  - OnRampDocPending
                  - WaitingForConfirmations
                  - PriceChanged
                  - Refunded
                  - PreparedToOffRamp
                  - WithdrawOfframpProcessing
                  - WaitingForFundsToSendOfframp
                  - WaitingForPayoutSettlement
                  - WithdrawPending
                  - WithdrawPendingOfframp
              - type: array
                items:
                  anyOf:
                    - type: string
                      enum:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                      description: >-
                        Common status values that are shared across all
                        operation types
                      examples:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                    - type: string
                      enum:
                        - Received
                        - Exchanging
                        - Exchanged
                        - WithdrawProcessing
                        - Withdrawn
                        - OffRampProcessing
                        - OffRamped
                        - Deleted
                        - PendingCancel
                        - Closed
                        - WaitingForFundsToExchange
                        - WaitingForFundsToSend
                        - WaitingForFundsToOffRamp
                        - OffRampDocPending
                        - OnRampDocPending
                        - WaitingForConfirmations
                        - PriceChanged
                        - Refunded
                        - PreparedToOffRamp
                        - WithdrawOfframpProcessing
                        - WaitingForFundsToSendOfframp
                        - WaitingForPayoutSettlement
                        - WithdrawPending
                        - WithdrawPendingOfframp
                  description: Status vocabulary accepted by the order-list status filter
                  examples:
                    - Pending
                    - Success
                    - Failed
                    - Received
                    - Exchanging
                    - Withdrawn
            description: >-
              Optional status filter — a single status or an array of statuses.
              Use the statuses the API returns (Pending, Processing, Reviewing,
              Success, Failed, Canceled); the granular internal states are still
              accepted for backward compatibility.
            examples:
              - Pending
              - - Pending
                - Success
              - - Pending
                - Processing
                - Success
              - - Success
                - Failed
                - Canceled
          required: false
          description: >-
            Optional status filter — a single status or an array of statuses.
            Use the statuses the API returns (Pending, Processing, Reviewing,
            Success, Failed, Canceled); the granular internal states are still
            accepted for backward compatibility.
          name: status
          in: query
      responses:
        '200':
          description: Order count
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                    description: Number of matching orders
                required:
                  - count
        '400':
          description: The request could not be scoped or validated
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/orders/count", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/orders/count",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/orders/count" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/deposits/count:
    get:
      summary: Count deposits
      description: >-
        Returns the number of deposits matching the same filters accepted by GET
        /v1/deposits.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            anyOf:
              - type: string
                enum:
                  - EUR
                  - USD
                  - GBP
                  - BRL
                  - MXN
                  - ARS
                  - COP
                  - PEN
                  - NGN
                  - KES
                  - TZS
                  - UGX
                  - RWF
                  - MWK
                  - ZMW
                  - XOF
                  - XAF
                  - BWP
              - type: string
                enum:
                  - USDC
                  - USDT
                  - CUSD
                  - BTC
                  - ETH
                  - POL
                  - SOL
                  - TRX
                  - AVAX
                  - XRP
                  - BNB
            description: Optional currency code to filter the deposits
            examples:
              - EUR
          required: false
          description: Optional currency code to filter the deposits
          name: currency
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: minAmount
          in: query
        - schema:
            type: number
            minimum: 0
          required: false
          name: maxAmount
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: from
          in: query
        - schema:
            type: integer
            minimum: 0
          required: false
          name: to
          in: query
        - schema:
            type: string
            pattern: ^[^\s@]+@[^\s@]+\.[^\s@]{2,}$
            description: >-
              Email of the user making the request. For a business payer this
              matches operations under any of its identities — the
              representative email and the organisation account — so listings
              stay complete across both.
            example: user@example.com
          required: false
          description: >-
            Email of the user making the request. For a business payer this
            matches operations under any of its identities — the representative
            email and the organisation account — so listings stay complete
            across both.
          name: userEmail
          in: query
        - schema:
            type: string
            description: >-
              General search (e.g. email or text). When provided, backend may
              use it for userEmail or text search.
          required: false
          description: >-
            General search (e.g. email or text). When provided, backend may use
            it for userEmail or text search.
          name: search
          in: query
        - schema:
            type: integer
            minimum: 1
            description: >-
              Deposits per page. Defaults to 10. A full page means there may be
              more — use `page` to continue, or GET /v1/deposits/count for the
              total. Large pages are accepted; very large ones are bounded by
              the search backend and will report an error rather than silently
              returning fewer rows.
            example: 50
          required: false
          description: >-
            Deposits per page. Defaults to 10. A full page means there may be
            more — use `page` to continue, or GET /v1/deposits/count for the
            total. Large pages are accepted; very large ones are bounded by the
            search backend and will report an error rather than silently
            returning fewer rows.
          name: limit
          in: query
        - schema:
            type: integer
            minimum: 1
            description: 1-based page number. Defaults to 1.
            example: 1
          required: false
          description: 1-based page number. Defaults to 1.
          name: page
          in: query
        - schema:
            anyOf:
              - type: string
                enum:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
                description: >-
                  Common status values that are shared across all operation
                  types
                examples:
                  - Pending
                  - Processing
                  - Success
                  - Failed
                  - Canceled
                  - Reviewing
              - type: string
                enum:
                  - PendingCancel
                  - Received
              - type: array
                items:
                  anyOf:
                    - type: string
                      enum:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                      description: >-
                        Common status values that are shared across all
                        operation types
                      examples:
                        - Pending
                        - Processing
                        - Success
                        - Failed
                        - Canceled
                        - Reviewing
                    - type: string
                      enum:
                        - PendingCancel
                        - Received
                  description: Status for deposit operations
                  examples:
                    - Pending
                    - Success
                    - Failed
                    - Received
                    - PendingCancel
            description: >-
              Optional status to filter deposits. Can be a single status or an
              array of statuses for multiple filtering
            examples:
              - Pending
              - - Pending
                - Success
              - - Pending
                - Processing
                - Success
          required: false
          description: >-
            Optional status to filter deposits. Can be a single status or an
            array of statuses for multiple filtering
          name: status
          in: query
      responses:
        '200':
          description: Deposit count
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                    description: Number of matching deposits
                required:
                  - count
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/count", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/deposits/count",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/deposits/count" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/deposits/{depositId}/methods:
    get:
      summary: List deposit instructions for a deposit
      description: >-
        Returns the pay-in instructions (deposit methods) for a specific deposit
        or order id. Use this to fetch the account/wallet details the payer must
        send funds to.
      tags:
        - Deposits
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 12
            maxLength: 12
            pattern: ^[A-Z0-9]{12}$
            description: ID of the deposit
            examples:
              - 01CLFXMT67II
              - 2R7E5Y5KFXP8
              - 4FWWRE3Y2URM
          required: true
          description: ID of the deposit
          name: depositId
          in: path
      responses:
        '200':
          description: Deposit instructions
          content:
            application/json:
              schema:
                type: object
                properties:
                  methods:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            accountHolder:
                              type: string
                              description: Name of the account holder
                              example: John Doe
                            iban:
                              type: string
                              description: SEPA Bank Account Number
                              example: DE8937XXXXXXXXXXXX3000
                            bic:
                              type: string
                              description: Bank BIC/SWIFT code
                              example: DEUTDEFF
                            bankName:
                              type: string
                              description: Name of the bank
                              example: Deutsche Bank
                            bankAddress:
                              type: string
                              description: Address of the bank
                              example: Taunusanlage 12
                            bankCity:
                              type: string
                              description: City of the bank
                              example: Frankfurt am Main
                            bankZipcode:
                              type: string
                              description: Zipcode of the bank
                              example: '60325'
                            bankCountry:
                              type: string
                              enum:
                                - US
                                - CA
                                - GB
                                - DE
                                - FR
                                - AU
                                - JP
                                - KR
                                - SE
                                - 'NO'
                                - DK
                                - FI
                                - NL
                                - BE
                                - CH
                                - AT
                                - NZ
                                - SG
                                - IE
                                - LU
                                - PT
                                - ES
                                - IT
                                - GR
                                - CZ
                                - PL
                                - HU
                                - SK
                                - SI
                                - EE
                                - LT
                                - LV
                                - IS
                                - MT
                                - CY
                                - HR
                                - RO
                                - BG
                                - BR
                                - AR
                                - CL
                                - MX
                                - CO
                                - PE
                                - PA
                                - UY
                                - BO
                                - ZA
                                - NG
                                - KE
                                - GH
                                - TZ
                                - UG
                                - RW
                                - MW
                                - ZM
                                - BW
                                - CD
                                - CI
                                - CM
                                - IL
                                - AE
                                - QA
                                - SA
                                - OM
                                - KW
                                - BH
                                - MY
                                - PH
                                - TH
                                - VN
                                - ID
                                - IN
                                - LK
                                - NP
                                - BD
                                - PK
                                - EG
                                - MA
                                - DZ
                                - TN
                                - JO
                                - LB
                                - TR
                                - KH
                                - MM
                                - LA
                                - EN
                                - BT
                                - VE
                                - TW
                                - HK
                                - CN
                              description: Country of the bank
                              example: DE
                            depositType:
                              type: string
                              enum:
                                - SEPA
                            amount:
                              type: number
                              minimum: 0
                              description: >-
                                Expected deposit amount. It can be 0 for
                                open-amount bank transfers where the sender
                                chooses the final amount from their bank.
                              example: 1000
                            referenceCode:
                              type: string
                              minLength: 1
                              description: >-
                                A unique identifier for the deposit, crucial for
                                matching the deposit with the corresponding
                                order. The user must include this code when
                                making the deposit to ensure accurate
                                processing. In cases where the reference code is
                                incorrect or missing, we manually match orders
                                based on the sender's name and other available
                                details. In case the deposit is not matched, we
                                will mark the order as Reviewing and the system
                                will require manual attention.
                              example: REF123456
                            extraDepositMethods:
                              type: array
                              items:
                                type: object
                                properties:
                                  methodType:
                                    type: string
                                    enum:
                                      - HOSTED_CHECKOUT
                                    description: >-
                                      HOSTED_CHECKOUT: a hosted payment page to
                                      send the payer to (card). More types may
                                      be added — treat an unknown value as
                                      unsupported and fall back to the bank
                                      details in `depositInfo`.
                                  url:
                                    type: string
                                    description: >-
                                      URL to send the payer to. For
                                      HOSTED_CHECKOUT, redirect the payer here
                                      (or embed it) to pay by card.
                                    example: https://checkout.example.com/pay/abc123
                                  callbackUrl:
                                    type: string
                                    description: >-
                                      Where the payer’s BROWSER is returned
                                      after paying. Informational only: it is
                                      not a server-to-server notification, and a
                                      payer landing there is NOT proof of
                                      payment — rely on the deposit status or
                                      webhooks for that.
                                  referenceCode:
                                    type: string
                                    description: >-
                                      Payment reference for this method (equals
                                      the deposit/order reference)
                                  amount:
                                    type: number
                                    description: >-
                                      Amount payable via this method when it
                                      differs from the deposit amount (e.g. a
                                      method-specific surcharge)
                                  currency:
                                    type: string
                                    description: Currency of this method
                                  expiresAt:
                                    type: number
                                    description: >-
                                      Unix ms after which `url` is no longer
                                      valid, when known
                                required:
                                  - methodType
                                  - url
                                description: >-
                                  An additional, optional way to pay this
                                  deposit
                              description: >-
                                Additional, optional ways to pay this same
                                deposit (e.g. a hosted card page). The bank
                                details above remain the primary method; ignore
                                this field if you only support bank transfer.
                          required:
                            - depositType
                            - amount
                            - referenceCode
                          description: >-
                            Detailed information about a bank deposit, including
                            the amount and a unique reference code for
                            identification.
                        - type: object
                          properties:
                            address:
                              type: string
                              minLength: 1
                              description: Crypto wallet address
                              example: '0x1A2b3C4d5E6f7890AbCdEf1234567890AbCdEf12'
                            network:
                              type: string
                              enum:
                                - MATIC
                                - ETH
                                - CELO
                                - TRON
                                - BTC
                                - SOLANA
                                - XRP
                                - CARDANO
                                - BSC
                                - ARBITRUM
                                - OPTIMISM
                                - AVALANCHE
                                - BASE
                              description: Network for the deposit for crypto deposits
                              examples:
                                - ETH
                                - MATIC
                                - CELO
                            memo:
                              type: string
                              description: Optional memo for the transaction
                              example: Payment for services
                            depositType:
                              type: string
                              enum:
                                - CRYPTO
                            qrCode:
                              type: string
                              description: Base64-encoded QR image for the deposit address
                              example: >-
                                iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAABpklEQVR42u3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAA...
                            qrCodeUrl:
                              type: string
                              format: uri
                              description: 7-day signed GCS URL of the QR code PNG
                            qrCodeExpiresAt:
                              type: number
                              description: Unix timestamp (ms) when qrCodeUrl expires
                            receivingAddress:
                              type: string
                              description: The wallet address where funds should be sent
                              example: '0xAbCdEf0123456789AbCdEf0123456789AbCdEf01'
                            tokenContract:
                              type: string
                              description: The ERC20 token contract address
                              example: '0x765DE816845861e75A25fCA122bb6898B8B1282a'
                            decimals:
                              type: number
                              description: Token decimals (default 18)
                              example: 18
                          required:
                            - address
                            - network
                            - depositType
                          description: Crypto Deposit Information
                        - type: object
                          properties:
                            base64QRCode:
                              type: string
                              minLength: 1
                              description: Base64 encoded QR code
                              example: base64QRCode
                            qrCodeString:
                              type: string
                              minLength: 1
                              description: >-
                                The Pix copy-and-paste code (BR Code payload)
                                the payer pastes into their bank app. Pass it
                                through unchanged — it carries its own checksum.
                              example: qrCodeString
                            referenceCode:
                              type: string
                              minLength: 1
                              description: >-
                                A unique identifier for the deposit, crucial for
                                matching the deposit with the corresponding
                                order
                              example: REF123456
                            amount:
                              type: number
                              minimum: 0
                              exclusiveMinimum: true
                              description: >-
                                The monetary value to be deposited into the
                                bank. This amount should be positive and
                                accurately reflect the intended deposit.
                              example: 1000
                            depositType:
                              type: string
                              enum:
                                - PIX
                          required:
                            - base64QRCode
                            - qrCodeString
                            - referenceCode
                            - amount
                            - depositType
                          description: Pix Deposit Information
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - CREDIT_CARD
                          required:
                            - depositType
                        - type: object
                          properties:
                            bankName:
                              type: string
                              description: >-
                                Name of the bank (present when the rail provides
                                it)
                            accountHolder:
                              type: string
                              description: >-
                                Name of the account holder (present when the
                                rail provides it)
                            clabe:
                              type: string
                              description: CLABE number
                            accountNumber:
                              type: string
                              description: >-
                                Bank account number (e.g. from the BANK_TRANSFER
                                payment method)
                            reference:
                              type: string
                              description: >-
                                Payment reference (e.g. from the BANK_TRANSFER
                                payment method)
                            depositType:
                              type: string
                              enum:
                                - CLABE
                              description: Type of the deposit
                          required:
                            - clabe
                            - depositType
                        - type: object
                          properties:
                            url:
                              type: string
                              description: URL of the PSE payment
                            amountPrefilled:
                              type: boolean
                              description: >-
                                Whether the payment page already carries the
                                amount. When false or absent, the payer must
                                enter it.
                            depositType:
                              type: string
                              enum:
                                - PSE
                              description: Type of the deposit
                          required:
                            - url
                            - depositType
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BALANCE
                          required:
                            - depositType
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - PENDING
                            currency:
                              type: string
                              description: Currency of the deposit
                            referenceCode:
                              type: string
                              description: Reference code for the order/deposit
                            amount:
                              type: number
                              minimum: 0
                              description: >-
                                Expected deposit amount. It can be 0 while bank
                                transfer details are open-amount or still being
                                provisioned.
                            extraDepositMethods:
                              type: array
                              items:
                                type: object
                                properties:
                                  methodType:
                                    type: string
                                    enum:
                                      - HOSTED_CHECKOUT
                                    description: >-
                                      HOSTED_CHECKOUT: a hosted payment page to
                                      send the payer to (card). More types may
                                      be added — treat an unknown value as
                                      unsupported and fall back to the bank
                                      details in `depositInfo`.
                                  url:
                                    type: string
                                    description: >-
                                      URL to send the payer to. For
                                      HOSTED_CHECKOUT, redirect the payer here
                                      (or embed it) to pay by card.
                                    example: https://checkout.example.com/pay/abc123
                                  callbackUrl:
                                    type: string
                                    description: >-
                                      Where the payer’s BROWSER is returned
                                      after paying. Informational only: it is
                                      not a server-to-server notification, and a
                                      payer landing there is NOT proof of
                                      payment — rely on the deposit status or
                                      webhooks for that.
                                  referenceCode:
                                    type: string
                                    description: >-
                                      Payment reference for this method (equals
                                      the deposit/order reference)
                                  amount:
                                    type: number
                                    description: >-
                                      Amount payable via this method when it
                                      differs from the deposit amount (e.g. a
                                      method-specific surcharge)
                                  currency:
                                    type: string
                                    description: Currency of this method
                                  expiresAt:
                                    type: number
                                    description: >-
                                      Unix ms after which `url` is no longer
                                      valid, when known
                                required:
                                  - methodType
                                  - url
                                description: >-
                                  An additional, optional way to pay this
                                  deposit
                              description: >-
                                Additional ways to pay while the bank details
                                are being provisioned (e.g. a hosted card page).
                                Optional — ignore it and wait for the bank
                                details if you only support bank transfer.
                            pendingReason:
                              type: string
                              enum:
                                - collection_account_activating
                                - accountless_per_account_corridor
                              description: >-
                                Why the instructions are still being
                                provisioned, when the reason is known.
                                `collection_account_activating` means the
                                collection account for this payer is being
                                activated and payable details are expected
                                shortly. `accountless_per_account_corridor`
                                means this corridor collects only into a
                                collection account dedicated to the paying
                                account, this request names no account, and none
                                can be created for it — so payable details will
                                NOT arrive by waiting; create the deposit
                                against an account instead. Absence never
                                conveys timing on either surface: here it means
                                only that no reason is classifiable, and an
                                account-level deposit-method instruction never
                                carries the field at all. Treat the values as an
                                open set and ignore any you do not recognise.
                          required:
                            - depositType
                            - currency
                            - referenceCode
                            - amount
                          description: >-
                            Deposit details are being provisioned; poll the
                            order/deposit or wait for webhook
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - IMPS
                            accountNumber:
                              type: string
                              description: Account number
                            bankName:
                              type: string
                              description: Name of the bank
                            accountHolder:
                              type: string
                              description: Name of the account holder
                            ifsc:
                              type: string
                              description: ifsc number
                            type:
                              type: string
                              description: Type of the deposit
                            branch:
                              type: string
                              description: Branch of the bank
                            bank:
                              type: string
                              description: Bank of the account
                            otp:
                              type: string
                              description: OTP of the deposit
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - accountNumber
                            - bankName
                            - accountHolder
                            - ifsc
                            - type
                            - branch
                            - bank
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - UPI
                            vpa:
                              type: string
                              description: Virtual Payment Address
                            name:
                              type: string
                              description: Name of the account holder
                            otp:
                              type: string
                              description: OTP for the transaction
                            paymentLink:
                              type: string
                              description: Payment link
                            upiNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional UPI instructions
                          required:
                            - depositType
                            - vpa
                            - name
                            - otp
                            - paymentLink
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - AED_BANK_TRANSFER
                            iban:
                              type: string
                              description: International Bank Account Number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            type:
                              type: string
                              description: Account type
                            address:
                              type: string
                              description: Bank address
                            email:
                              type: string
                              description: Contact email
                            phoneNumber:
                              type: string
                              description: Contact phone number
                            transferCode:
                              type: string
                              description: Transfer code
                            poBox:
                              type: string
                              description: P.O. Box
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - iban
                            - name
                            - bank
                            - type
                            - address
                            - email
                            - phoneNumber
                            - transferCode
                            - poBox
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - SPEI
                            clabe:
                              type: string
                              description: CLABE number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - clabe
                            - name
                            - bank
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - TRY_BANK_TRANSFER
                            iban:
                              type: string
                              description: International Bank Account Number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - iban
                            - name
                            - bank
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - IDR_BANK_TRANSFER
                            virtualAccount:
                              type: string
                              description: Virtual account number
                            name:
                              type: string
                              description: Name of the account holder
                            bank:
                              type: string
                              description: Bank name
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - virtualAccount
                            - name
                            - bank
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - THAI_QR
                            qrCode:
                              type: string
                              description: QR code
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - qrCode
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - VIET_QR
                            qrCode:
                              type: string
                              description: QR code
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - qrCode
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - GCASH
                            qrCode:
                              type: string
                              description: QR code
                            otp:
                              type: string
                              description: OTP for the transaction
                            bankNotes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: number
                                    description: 'Type of note: -1 for warning, 1 for info'
                                  msg:
                                    type: string
                                    description: Message content
                                required:
                                  - type
                                  - msg
                              description: Additional bank instructions
                          required:
                            - depositType
                            - qrCode
                            - otp
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - ARGENTINA_BANK_TRANSFER
                            accountNumber:
                              type: string
                              description: Account number
                            accountHolder:
                              type: string
                              description: Account holder name
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - accountNumber
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - ACH_US
                            routingNumber:
                              type: string
                              description: US bank ABA routing number
                            accountNumber:
                              type: string
                              description: US bank account number
                            beneficiaryName:
                              type: string
                              description: Beneficiary name on the account
                            bankName:
                              type: string
                              description: Name of the bank
                            bankAddress:
                              type: string
                              description: Address of the bank
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names (e.g. ACH, Wire)
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount in USD
                            referenceCode:
                              type: string
                              minLength: 1
                              description: >-
                                Reference code to include in the wire/ACH
                                transfer
                          required:
                            - depositType
                            - routingNumber
                            - accountNumber
                            - beneficiaryName
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - ACH_PULL
                          required:
                            - depositType
                          description: >-
                            Funds are pulled from the holder's own linked US
                            bank account; no transfer instructions apply
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - LOCALBANK
                              description: >-
                                Deprecated generic local-bank payin type.
                                Superseded by the corridor-specific deposit
                                types (e.g. SEPA, ACH_US, GBP_BANK_TRANSFER,
                                CLABE/SPEI, PIX, ARGENTINA_BANK_TRANSFER,
                                BANK_DEPOSIT_<CC>). Still returned on some
                                corridors and on historical records, so
                                integrators must continue to handle it. Discover
                                the applicable per-currency method via GET
                                /v1/currencies/{currency}/payin-schema.
                              deprecated: true
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - GBP_BANK_TRANSFER
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: UK bank account number
                            sortCode:
                              type: string
                              description: UK sort code
                            bankName:
                              type: string
                              description: Name of the bank
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            schemes:
                              type: array
                              items:
                                type: string
                              description: >-
                                Accepted payment scheme names (e.g. Faster
                                Payments, CHAPS, BACS)
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount in GBP
                            referenceCode:
                              type: string
                              minLength: 1
                              description: Reference code to include in the transfer
                          required:
                            - depositType
                            - accountHolder
                            - accountNumber
                            - sortCode
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_COL
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CL
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BO
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BR
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_NG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_KE
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_GH
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZA
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_TZ
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_UG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_RW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_MW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_ZM
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_BW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_CD
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XOF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - BANK_DEPOSIT_XAF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_NG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_KE
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_GH
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZA
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_TZ
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_UG
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_RW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_MW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_ZM
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_BW
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_CD
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_XOF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                        - type: object
                          properties:
                            depositType:
                              type: string
                              enum:
                                - MOBILE_MONEY_XAF
                            accountHolder:
                              type: string
                              description: Account holder name
                            accountNumber:
                              type: string
                              description: Local bank account number
                            bankName:
                              type: string
                              description: Bank name
                            bankCountry:
                              type: string
                              description: ISO-3166 country code
                            routingCodes:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    description: >-
                                      Routing code type (e.g. "routing_number",
                                      "sort_code")
                                  value:
                                    type: string
                                    description: Routing code value
                                required:
                                  - type
                                  - value
                              description: >-
                                Routing identifiers (e.g. sort code, routing
                                number)
                            schemes:
                              type: array
                              items:
                                type: string
                              description: Accepted payment scheme names for this account
                            amount:
                              type: number
                              minimum: 0
                              description: Expected deposit amount
                            referenceCode:
                              type: string
                              description: Reference code for the transfer
                          required:
                            - depositType
                            - amount
                            - referenceCode
                      description: Details of the deposit
                      examples:
                        - accountHolder: John Doe
                          iban: DE8937XXXXXXXXXXXX3000
                          bic: COBADEFFXXX
                          bankName: Commerzbank
                          bankAddress: Mainzer Landstrasse 151-153
                          bankCity: Frankfurt
                          bankZipcode: '60327'
                          bankCountry: DE
                          amount: 1000
                          referenceCode: ABC123
                          depositType: SEPA
                    description: Methods of the deposit
                required:
                  - methods
                description: Response schema for listing deposit instructions for a deposit
        '404':
          description: Deposit or order not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure/methods",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure/methods",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/deposits/dep_3F2b8Qure/methods" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/currencies:
    get:
      summary: List available currencies and capabilities
      description: >-
        Returns the origin (payin) and destination (payout) currencies enabled
        for the authenticated workspace, the countries derived from them, and
        the `holdableCurrencies` list (which can be held as an internal
        balance). Anything available but not holdable is rail-only.
        `exchangeableDestinationsByCurrency` maps each holdable origin currency
        to the holdable destinations it can currently be exchanged into — a
        live, pairwise signal: offer only the pairs listed there. Start here,
        then drill into a currency with the per-currency discovery endpoints
        below.
      tags:
        - Currencies
      security:
        - oauth2: []
      responses:
        '200':
          description: Available currencies and capabilities
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      availableOriginCurrencies:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: Full currency name
                            symbol:
                              type: string
                              description: Currency symbol/code
                            countries:
                              type: array
                              items:
                                type: string
                              description: Countries where the currency is used
                            imageUrl:
                              type: string
                              description: URL to the currency icon
                            networks:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    description: Network display name
                                  id:
                                    type: string
                                    description: Network identifier
                                  iconUrl:
                                    type: string
                                    description: URL to the network icon
                                  needsMemo:
                                    type: boolean
                                    description: >-
                                      Whether a memo/tag is required for this
                                      network
                                  regex:
                                    type: object
                                    additionalProperties:
                                      type: array
                                      items:
                                        type: string
                                    description: >-
                                      Client-side validation patterns keyed by
                                      field name
                                  chainId:
                                    type: number
                                    description: EVM chain id (mainnet)
                                  chainIdTestnet:
                                    type: number
                                    description: EVM chain id (testnet)
                                  decimals:
                                    type: number
                                    description: Token decimals on this network
                                  depositRail:
                                    type: string
                                    description: >-
                                      Deposit rail identifier to pass to
                                      provisioning
                                required:
                                  - name
                                  - id
                                  - iconUrl
                                description: Network configuration for a currency
                              description: >-
                                Networks available for this currency
                                (crypto/rail)
                            contractAddresses:
                              type: object
                              properties:
                                mainnet:
                                  type: string
                                sepolia:
                                  type: string
                                celo-sepolia:
                                  type: string
                              description: >-
                                Token contract addresses per environment (crypto
                                currencies)
                            originTransferMethods:
                              type: array
                              items:
                                type: string
                              description: >-
                                Available deposit (payin) methods — camelCase
                                OriginTransferMethods values
                            destinationTransferMethods:
                              type: array
                              items:
                                type: string
                              description: >-
                                Available payout methods — camelCase
                                DestinationTransferMethods values
                            priceDigits:
                              type: number
                              description: Decimal places for price display
                            amountDigits:
                              type: number
                              description: Decimal places for amount input
                            type:
                              type: string
                              enum:
                                - fiat
                                - crypto
                              description: Type of currency (fiat or crypto)
                          required:
                            - name
                            - symbol
                            - countries
                            - imageUrl
                            - originTransferMethods
                            - destinationTransferMethods
                            - priceDigits
                            - amountDigits
                          description: Currency configuration and capabilities
                        description: >-
                          Currencies usable as the origin (payin) of an
                          order/deposit
                      availableDestinationCurrencies:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: Full currency name
                            symbol:
                              type: string
                              description: Currency symbol/code
                            countries:
                              type: array
                              items:
                                type: string
                              description: Countries where the currency is used
                            imageUrl:
                              type: string
                              description: URL to the currency icon
                            networks:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    description: Network display name
                                  id:
                                    type: string
                                    description: Network identifier
                                  iconUrl:
                                    type: string
                                    description: URL to the network icon
                                  needsMemo:
                                    type: boolean
                                    description: >-
                                      Whether a memo/tag is required for this
                                      network
                                  regex:
                                    type: object
                                    additionalProperties:
                                      type: array
                                      items:
                                        type: string
                                    description: >-
                                      Client-side validation patterns keyed by
                                      field name
                                  chainId:
                                    type: number
                                    description: EVM chain id (mainnet)
                                  chainIdTestnet:
                                    type: number
                                    description: EVM chain id (testnet)
                                  decimals:
                                    type: number
                                    description: Token decimals on this network
                                  depositRail:
                                    type: string
                                    description: >-
                                      Deposit rail identifier to pass to
                                      provisioning
                                required:
                                  - name
                                  - id
                                  - iconUrl
                                description: Network configuration for a currency
                              description: >-
                                Networks available for this currency
                                (crypto/rail)
                            contractAddresses:
                              type: object
                              properties:
                                mainnet:
                                  type: string
                                sepolia:
                                  type: string
                                celo-sepolia:
                                  type: string
                              description: >-
                                Token contract addresses per environment (crypto
                                currencies)
                            originTransferMethods:
                              type: array
                              items:
                                type: string
                              description: >-
                                Available deposit (payin) methods — camelCase
                                OriginTransferMethods values
                            destinationTransferMethods:
                              type: array
                              items:
                                type: string
                              description: >-
                                Available payout methods — camelCase
                                DestinationTransferMethods values
                            priceDigits:
                              type: number
                              description: Decimal places for price display
                            amountDigits:
                              type: number
                              description: Decimal places for amount input
                            type:
                              type: string
                              enum:
                                - fiat
                                - crypto
                              description: Type of currency (fiat or crypto)
                          required:
                            - name
                            - symbol
                            - countries
                            - imageUrl
                            - originTransferMethods
                            - destinationTransferMethods
                            - priceDigits
                            - amountDigits
                          description: Currency configuration and capabilities
                        description: >-
                          Currencies usable as the destination (payout) of an
                          order/withdrawal
                      availableOriginCountries:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: Country name
                            code:
                              type: string
                              description: ISO-3166 alpha-2 country code
                            imageUrl:
                              type: string
                              description: URL to the country flag image
                            currencies:
                              type: array
                              items:
                                type: string
                              description: Currency codes used in this country
                          required:
                            - name
                            - code
                            - imageUrl
                            - currencies
                          description: Country configuration
                        description: Countries derived from the available origin currencies
                      availableDestinationCountries:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: Country name
                            code:
                              type: string
                              description: ISO-3166 alpha-2 country code
                            imageUrl:
                              type: string
                              description: URL to the country flag image
                            currencies:
                              type: array
                              items:
                                type: string
                              description: Currency codes used in this country
                          required:
                            - name
                            - code
                            - imageUrl
                            - currencies
                          description: Country configuration
                        description: >-
                          Countries derived from the available destination
                          currencies
                      holdableCurrencies:
                        type: array
                        items:
                          type: string
                        description: >-
                          Currencies the workspace can hold as an internal
                          balance. Anything available but not listed here is
                          rail-only (payin/payout, settles to a held currency).
                      exchangeableDestinationsByCurrency:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                          description: >-
                            Holdable destination currency codes reachable from
                            this origin
                        description: >-
                          For each holdable origin currency, the holdable
                          destination currencies it can currently be exchanged
                          into over a live trading path of at most 2 hops. The
                          relation is pairwise, not transitive: offer only the
                          origin-to-destination pairs listed here. Omitted when
                          the signal was not computed; an empty object means
                          nothing is currently exchangeable.
                    required:
                      - availableOriginCurrencies
                      - availableDestinationCurrencies
                      - availableOriginCountries
                      - availableDestinationCountries
                    description: >-
                      Available origin/destination currencies + countries for
                      the workspace, plus the holdable-currency and
                      exchangeable-destinations capability signals
                required:
                  - ok
                  - value
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/currencies", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/currencies",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/currencies" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/currencies/{currency}/networks:
    get:
      summary: Discover payout networks for a currency
      description: >-
        Returns the abstract payout networks available for a local-currency
        corridor. Optional `rail` (BANK_DEPOSIT_<CC> or MOBILE_MONEY_<CC>)
        narrows the result to bank or mobile-money networks. Pass the returned
        `id` back as the destination network when creating a payout. Currencies
        without discoverable networks resolve to an empty list. An empty list
        always means the corridor genuinely has no matching networks, so it is
        safe to cache as such: if the network lookup cannot be completed this
        endpoint answers `503` instead of an empty list.
      tags:
        - Currencies
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Currency code (e.g. EUR, USDC, NGN)
            example: NGN
          required: true
          description: Currency code (e.g. EUR, USDC, NGN)
          name: currency
          in: path
        - schema:
            type: string
            description: >-
              Optional rail filter. BANK_DEPOSIT_<CC> narrows to bank networks,
              MOBILE_MONEY_<CC> to mobile-money networks; omit for all.
            example: BANK_DEPOSIT_NG
          required: false
          description: >-
            Optional rail filter. BANK_DEPOSIT_<CC> narrows to bank networks,
            MOBILE_MONEY_<CC> to mobile-money networks; omit for all.
          name: rail
          in: query
        - schema:
            type: string
            enum:
              - deposit
              - withdraw
            description: >-
              Optional mobile-money direction filter — "deposit" (collection) or
              "withdraw" (disbursement). Narrows a mobile-money result to
              operators that serve that direction; omit for all.
            example: withdraw
          required: false
          description: >-
            Optional mobile-money direction filter — "deposit" (collection) or
            "withdraw" (disbursement). Narrows a mobile-money result to
            operators that serve that direction; omit for all.
          name: rampType
          in: query
        - schema:
            type: string
            description: >-
              Optional ISO-3166 alpha-2 country. For a multi-country (CFA)
              currency, scopes discovery to a member country from GET
              /v1/currencies/:currency/payin-countries.
            example: SN
          required: false
          description: >-
            Optional ISO-3166 alpha-2 country. For a multi-country (CFA)
            currency, scopes discovery to a member country from GET
            /v1/currencies/:currency/payin-countries.
          name: country
          in: query
      responses:
        '200':
          description: Available payout networks
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Opaque network identifier to pass back on a payout
                        name:
                          type: string
                          description: Display name of the destination network
                        type:
                          type: string
                          enum:
                            - bank
                            - momo
                          description: >-
                            Whether the network is a bank or a mobile-money
                            provider
                      required:
                        - id
                        - name
                        - type
                      additionalProperties: false
                      description: A payout network available for a local-currency corridor
                required:
                  - ok
                  - value
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '503':
          description: >-
            The network lookup could not be completed, so the answer is unknown
            — retry. Never returned for a corridor that simply has no networks
            (that is a 200 with an empty list).
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/currencies/EUR/networks", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/currencies/EUR/networks",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/currencies/EUR/networks" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/currencies/{currency}/limits:
    get:
      summary: Get per-transaction payout amount limits for a payout corridor
      description: >-
        Returns the minimum and maximum amount you can pay out in a **single
        transaction** for a `(destination currency, payout method)` corridor —
        call it to pre-validate an amount before creating an order or
        withdrawal. `currency` (path) is the **payout/destination** currency, in
        **major units**. `method` (query) is the payout rail for that currency,
        as a camelCase method value (e.g. `bankDepositNG`, `pixDepositBR`,
        `mobileMoneyKE`); get a valid value from `GET
        /v1/currencies/{currency}/destination-schema`. Two vocabularies, one
        rail: the payout payload field `destinationTransferData.type` takes a
        different value — the SCREAMING_SNAKE rail literal (`BANK_DEPOSIT_NG`,
        `PIX_BR`, `MOBILE_MONEY_KE`), which that endpoint publishes as
        `destinationType`. The response value is `null` when no limits are
        published for the corridor; when present, `min` or `max` may each be
        omitted if only one bound applies, and `currency` echoes the unit the
        limits are expressed in. A `null` always means the corridor publishes no
        bounds — i.e. there is nothing to pre-validate against — and never that
        the limits could not be read: if the limit lookup cannot be completed
        this endpoint answers `503` instead of `null`.
      tags:
        - Currencies
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Currency code (e.g. EUR, USDC, NGN)
            example: NGN
          required: true
          description: Currency code (e.g. EUR, USDC, NGN)
          name: currency
          in: path
        - schema:
            type: string
            description: >-
              The payout rail for this currency, as a camelCase method value
              (e.g. `bankDepositNG`, `pixDepositBR`, `mobileMoneyKE`). Get a
              valid value from `GET
              /v1/currencies/{currency}/destination-schema`. Two vocabularies,
              one rail: the payout payload field `destinationTransferData.type`
              takes a different value — the SCREAMING_SNAKE rail literal
              (`BANK_DEPOSIT_NG`, `PIX_BR`, `MOBILE_MONEY_KE`), which that
              endpoint publishes as `destinationType`.
            example: bankDepositNG
          required: true
          description: >-
            The payout rail for this currency, as a camelCase method value (e.g.
            `bankDepositNG`, `pixDepositBR`, `mobileMoneyKE`). Get a valid value
            from `GET /v1/currencies/{currency}/destination-schema`. Two
            vocabularies, one rail: the payout payload field
            `destinationTransferData.type` takes a different value — the
            SCREAMING_SNAKE rail literal (`BANK_DEPOSIT_NG`, `PIX_BR`,
            `MOBILE_MONEY_KE`), which that endpoint publishes as
            `destinationType`.
          name: method
          in: query
      responses:
        '200':
          description: Payout limits (or null)
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    nullable: true
                    properties:
                      min:
                        type: number
                        description: >-
                          Minimum per-transaction payout amount in the
                          destination currency (major units); omitted if no
                          floor applies
                        example: 1000
                      max:
                        type: number
                        description: >-
                          Maximum per-transaction payout amount in the
                          destination currency (major units); omitted if no
                          ceiling applies
                        example: 5000000
                      currency:
                        type: string
                        description: Currency the limits are expressed in
                        example: NGN
                    required:
                      - currency
                    description: >-
                      Per-transaction payout limits for a (destination currency,
                      method) corridor; null when no published limits exist
                required:
                  - ok
                  - value
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '503':
          description: >-
            The payout-limit lookup could not be completed, so the answer is
            unknown — retry. Never returned for a corridor that simply publishes
            no limits (that is a 200 with `null`).
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/currencies/EUR/limits", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/currencies/EUR/limits",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET "https://api.virtuabroker.com/v1/currencies/EUR/limits"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/currencies/{currency}/destination-schema:
    get:
      summary: Get the payout field schema for a currency + method
      description: >-
        Returns the backend-owned payout field schema for a (currency, `method`)
        corridor, so you render the payout form generically instead of
        hardcoding fields. Includes the abstract corridor descriptor, the
        ordered field list (name, type, regex, options, widget), and whether the
        corridor uses network discovery. The `method` is a camelCase
        DestinationTransferMethods value.
      tags:
        - Currencies
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Currency code (e.g. EUR, USDC, NGN)
            example: NGN
          required: true
          description: Currency code (e.g. EUR, USDC, NGN)
          name: currency
          in: path
        - schema:
            type: string
            description: >-
              Payout method — a camelCase DestinationTransferMethods value (e.g.
              bankDepositEU)
            example: bankDepositEU
          required: true
          description: >-
            Payout method — a camelCase DestinationTransferMethods value (e.g.
            bankDepositEU)
          name: method
          in: query
      responses:
        '200':
          description: Payout field schema
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      corridor:
                        type: object
                        properties:
                          currency:
                            type: string
                            description: The currency this corridor describes
                          direction:
                            type: string
                            enum:
                              - payin
                              - payout
                            description: >-
                              Whether this corridor collects money (`payin`) or
                              pays it out (`payout`)
                          candidates:
                            type: array
                            items:
                              type: object
                              properties:
                                party:
                                  type: string
                                  enum:
                                    - first_party
                                    - third_party
                                  description: >-
                                    Whose money moves. `first_party` is the
                                    entity that owns the account; `third_party`
                                    is a counterparty — a payout recipient, or a
                                    payer sending into a shared collection
                                    account.
                                payerIdentity:
                                  type: string
                                  enum:
                                    - none
                                    - declared
                                    - verified
                                  description: >-
                                    How deeply the payer must be identified.
                                    `none` — nothing collected. `declared` —
                                    identity data submitted with the
                                    transaction, no verification flow.
                                    `verified` — documents plus approval.
                                receiverIdentity:
                                  type: string
                                  enum:
                                    - none
                                    - declared
                                    - verified
                                  description: >-
                                    How deeply the receiver must be identified,
                                    on the same scale as `payerIdentity`
                                methods:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Methods this candidate alone can service — a
                                    subset of the corridor-wide `methods`
                                settledWith:
                                  type: string
                                  description: >-
                                    Held currency this candidate settles into,
                                    e.g. `USDC`. Informational: it never changes
                                    what you send or what the recipient gets.
                                collectionModel:
                                  type: string
                                  enum:
                                    - shared_account
                                    - per_user
                                    - per_transaction
                                    - linked_account_pull
                                  description: >-
                                    How a payin is funded. `shared_account` —
                                    one collection account with a reference per
                                    payment. `per_user` — a dedicated account
                                    per account holder. `per_transaction` —
                                    fresh details issued for each payment.
                                    `linked_account_pull` — no details to send
                                    to: the funds are debited from a bank
                                    account the account holder linked.
                              required:
                                - party
                                - payerIdentity
                                - receiverIdentity
                                - methods
                              additionalProperties: false
                            description: >-
                              The routes that can service this corridor, in
                              fallback order. More than one means the corridor
                              has redundancy.
                          methods:
                            type: array
                            items:
                              type: string
                            description: >-
                              Every method available on this corridor — the
                              union across all candidates. Compare with a
                              candidate’s own `methods`, which is only what that
                              route supports.
                          requiresIdentity:
                            type: boolean
                            description: >-
                              True when at least one candidate needs payer or
                              receiver identity
                        required:
                          - currency
                          - direction
                          - candidates
                          - methods
                          - requiresIdentity
                        additionalProperties: false
                        description: Abstract corridor descriptor (no provider names)
                      method:
                        type: string
                        description: The payout method this schema describes
                      fields:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: Field name to submit on the payout
                            type:
                              type: string
                              enum:
                                - text
                                - number
                                - tel
                              description: Input type hint for rendering
                            required:
                              type: boolean
                              description: Whether the field is mandatory
                            regex:
                              type: array
                              items:
                                type: string
                              description: >-
                                Accepted patterns (value must match at least
                                one)
                            options:
                              type: array
                              items:
                                type: object
                                properties:
                                  value:
                                    type: string
                                    description: Option value submitted on payout
                                  label:
                                    type: string
                                    description: Option label (may itself be an i18n key)
                                  i18nKey:
                                    type: string
                                    description: >-
                                      Optional i18n key for the option label —
                                      the client resolves it
                                required:
                                  - value
                                  - label
                                additionalProperties: false
                              description: Fixed select options, when applicable
                            widget:
                              type: string
                              enum:
                                - network
                              description: >-
                                When "network", render a picker fed by GET
                                /v1/currencies/:currency/networks
                            i18nKey:
                              type: string
                              description: >-
                                Locale-agnostic i18n key — the client resolves
                                the label
                            validator:
                              type: string
                              enum:
                                - iban
                                - clabe
                              description: >-
                                Named client-side validator to run in addition
                                to regex
                            normalize:
                              type: string
                              enum:
                                - stripSpacesUpper
                                - upper
                              description: >-
                                Normalization the client applies before
                                validating/submitting
                          required:
                            - name
                            - type
                            - required
                            - regex
                            - i18nKey
                          additionalProperties: false
                          description: A single payout field descriptor
                        description: Ordered list of fields to collect for the payout
                      supportsNetworkDiscovery:
                        type: boolean
                        description: >-
                          Whether GET /v1/currencies/:currency/networks returns
                          networks for this corridor
                      networkDiscoveryRail:
                        type: string
                        description: >-
                          Rail to pass to /networks?rail= for this method, when
                          applicable
                      destinationType:
                        type: string
                        description: >-
                          The value to send as `destinationTransferData.type`
                          when you create the order or withdrawal for this
                          method — the SCREAMING_SNAKE rail literal, not the
                          camelCase `method` above (e.g. `BANK_DEPOSIT_VEN` for
                          method `bankDepositVEN`). Present on every response
                          this endpoint returns: it serves fiat payout corridors
                          and each one has a rail literal. The field is declared
                          optional because the derivation omits an ambiguous
                          method rather than guessing one — `cryptoWallet` is
                          the only ambiguous method and no fiat payout corridor
                          exposes it. For a **crypto** payout take the chain
                          literal from the `type` enum of
                          `destinationTransferData` itself (`ETH`, `MATIC`,
                          `TRON`, `SOL`, …), which lists every accepted value.
                        example: BANK_DEPOSIT_VEN
                    required:
                      - corridor
                      - method
                      - fields
                      - supportsNetworkDiscovery
                    additionalProperties: false
                    description: Payout field schema for a (currency, method) corridor
                required:
                  - ok
                  - value
        '400':
          description: The method is unknown, unavailable, or has no field schema
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: The currency has no payout corridor
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/currencies/EUR/destination-schema",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/currencies/EUR/destination-schema",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/currencies/EUR/destination-schema"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/currencies/{currency}/payin-schema:
    get:
      summary: Get the payin schema for a currency
      description: >-
        Returns the abstract payin corridor descriptor for a currency: the
        collection model(s), the origin (deposit) methods, and a provisional
        flag when more than one payin provider serves the currency. Deposit
        INSTRUCTIONS are not returned here — those are provisioned per
        transaction and live on the order/deposit response. Payout-only
        currencies return a 400.
      tags:
        - Currencies
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Currency code (e.g. EUR, USDC, NGN)
            example: NGN
          required: true
          description: Currency code (e.g. EUR, USDC, NGN)
          name: currency
          in: path
      responses:
        '200':
          description: Payin schema
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      corridor:
                        type: object
                        properties:
                          currency:
                            type: string
                            description: The currency this corridor describes
                          direction:
                            type: string
                            enum:
                              - payin
                              - payout
                            description: >-
                              Whether this corridor collects money (`payin`) or
                              pays it out (`payout`)
                          candidates:
                            type: array
                            items:
                              type: object
                              properties:
                                party:
                                  type: string
                                  enum:
                                    - first_party
                                    - third_party
                                  description: >-
                                    Whose money moves. `first_party` is the
                                    entity that owns the account; `third_party`
                                    is a counterparty — a payout recipient, or a
                                    payer sending into a shared collection
                                    account.
                                payerIdentity:
                                  type: string
                                  enum:
                                    - none
                                    - declared
                                    - verified
                                  description: >-
                                    How deeply the payer must be identified.
                                    `none` — nothing collected. `declared` —
                                    identity data submitted with the
                                    transaction, no verification flow.
                                    `verified` — documents plus approval.
                                receiverIdentity:
                                  type: string
                                  enum:
                                    - none
                                    - declared
                                    - verified
                                  description: >-
                                    How deeply the receiver must be identified,
                                    on the same scale as `payerIdentity`
                                methods:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Methods this candidate alone can service — a
                                    subset of the corridor-wide `methods`
                                settledWith:
                                  type: string
                                  description: >-
                                    Held currency this candidate settles into,
                                    e.g. `USDC`. Informational: it never changes
                                    what you send or what the recipient gets.
                                collectionModel:
                                  type: string
                                  enum:
                                    - shared_account
                                    - per_user
                                    - per_transaction
                                    - linked_account_pull
                                  description: >-
                                    How a payin is funded. `shared_account` —
                                    one collection account with a reference per
                                    payment. `per_user` — a dedicated account
                                    per account holder. `per_transaction` —
                                    fresh details issued for each payment.
                                    `linked_account_pull` — no details to send
                                    to: the funds are debited from a bank
                                    account the account holder linked.
                              required:
                                - party
                                - payerIdentity
                                - receiverIdentity
                                - methods
                              additionalProperties: false
                            description: >-
                              The routes that can service this corridor, in
                              fallback order. More than one means the corridor
                              has redundancy.
                          methods:
                            type: array
                            items:
                              type: string
                            description: >-
                              Every method available on this corridor — the
                              union across all candidates. Compare with a
                              candidate’s own `methods`, which is only what that
                              route supports.
                          requiresIdentity:
                            type: boolean
                            description: >-
                              True when at least one candidate needs payer or
                              receiver identity
                        required:
                          - currency
                          - direction
                          - candidates
                          - methods
                          - requiresIdentity
                        additionalProperties: false
                        description: Abstract corridor descriptor (no provider names)
                      payinModels:
                        type: array
                        items:
                          type: string
                          enum:
                            - per_user
                            - shared_account
                            - per_transaction
                            - linked_account_pull
                        description: >-
                          Deterministic union of collection models across payin
                          providers (declaration order)
                      payinModel:
                        type: string
                        nullable: true
                        enum:
                          - per_user
                          - shared_account
                          - per_transaction
                          - linked_account_pull
                        description: >-
                          Primary (declaration-order head) collection model —
                          provisional when primaryProviderOnly is true
                      originMethods:
                        type: array
                        items:
                          type: string
                        description: >-
                          Origin (collection) methods the customer may use to
                          deposit
                      payinMethods:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - bank
                                - mobileMoney
                                - pix
                            rail:
                              type: string
                          required:
                            - type
                            - rail
                        description: >-
                          Payer-facing collection channels: abstract channel
                          type plus the canonical originRail to send on a quote.
                          Empty when the corridor declares no per-currency rail
                          (EUR/USD/GBP, crypto) — those are unguarded and you
                          may pick your own rail.
                      acceptedOriginRails:
                        type: array
                        items:
                          type: string
                        description: >-
                          Every originRail a quote will be ACCEPTED with for
                          this currency — the canonical rails above plus
                          equivalent spellings of the same channel (e.g. ARS
                          accepts BANK_DEPOSIT_AR and ARGENTINA_BANK_TRANSFER).
                          Empty means the corridor is unguarded. Read this to
                          discover the rail the quote requires instead of
                          discovering it through a 400.
                      primaryProviderOnly:
                        type: boolean
                        description: >-
                          True when >1 payin provider serves this currency, so
                          payinModel is the provisional head
                    required:
                      - corridor
                      - payinModels
                      - payinModel
                      - originMethods
                      - payinMethods
                      - acceptedOriginRails
                      - primaryProviderOnly
                    additionalProperties: false
                    description: >-
                      Abstract payin schema for a currency (deposit instructions
                      live on the order)
                required:
                  - ok
                  - value
        '400':
          description: The currency has no payin corridor
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/currencies/EUR/payin-schema",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/currencies/EUR/payin-schema",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/currencies/EUR/payin-schema" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/currencies/{currency}/identity-schema:
    get:
      summary: Get the identity intake schema for a corridor party
      description: >-
        Returns the backend-owned identity intake for a corridor party: the
        identity flow (none / declared / verified), the declared-metadata fields
        to collect (when declared), and whether a verification widget or manual
        review applies. Requires `direction` (payin or payout) and `entityType`
        (individual or organisation).


        **Where the declared fields go.** For `direction=payout`, send the
        values you collect in `destinationUserData` on `POST /v1/orders` (and on
        `POST /v1/withdrawals`), using these same field names — that is the
        intake this schema describes, and the corridor rejects the order at
        creation if a required one is missing or blank. An empty string does not
        satisfy a required field. If you also identify the recipient with a
        `destination` block (`contactId` or `contactEmail`) and
        `destinationUserData.userEmail` names a DIFFERENT party, the request is
        rejected with a validation error rather than mixing the two identities:
        send the identity for the recipient you name, or omit the destination
        identifier.
      tags:
        - Currencies
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Currency code (e.g. EUR, USDC, NGN)
            example: NGN
          required: true
          description: Currency code (e.g. EUR, USDC, NGN)
          name: currency
          in: path
        - schema:
            type: string
            enum:
              - payin
              - payout
            description: Corridor direction the identity intake applies to
          required: true
          description: Corridor direction the identity intake applies to
          name: direction
          in: query
        - schema:
            type: string
            enum:
              - individual
              - organisation
            description: Party entity type (individual → KYC, organisation → KYB)
          required: true
          description: Party entity type (individual → KYC, organisation → KYB)
          name: entityType
          in: query
      responses:
        '200':
          description: Identity intake schema
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      corridor:
                        type: object
                        properties:
                          currency:
                            type: string
                            description: The currency this corridor describes
                          direction:
                            type: string
                            enum:
                              - payin
                              - payout
                            description: >-
                              Whether this corridor collects money (`payin`) or
                              pays it out (`payout`)
                          candidates:
                            type: array
                            items:
                              type: object
                              properties:
                                party:
                                  type: string
                                  enum:
                                    - first_party
                                    - third_party
                                  description: >-
                                    Whose money moves. `first_party` is the
                                    entity that owns the account; `third_party`
                                    is a counterparty — a payout recipient, or a
                                    payer sending into a shared collection
                                    account.
                                payerIdentity:
                                  type: string
                                  enum:
                                    - none
                                    - declared
                                    - verified
                                  description: >-
                                    How deeply the payer must be identified.
                                    `none` — nothing collected. `declared` —
                                    identity data submitted with the
                                    transaction, no verification flow.
                                    `verified` — documents plus approval.
                                receiverIdentity:
                                  type: string
                                  enum:
                                    - none
                                    - declared
                                    - verified
                                  description: >-
                                    How deeply the receiver must be identified,
                                    on the same scale as `payerIdentity`
                                methods:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    Methods this candidate alone can service — a
                                    subset of the corridor-wide `methods`
                                settledWith:
                                  type: string
                                  description: >-
                                    Held currency this candidate settles into,
                                    e.g. `USDC`. Informational: it never changes
                                    what you send or what the recipient gets.
                                collectionModel:
                                  type: string
                                  enum:
                                    - shared_account
                                    - per_user
                                    - per_transaction
                                    - linked_account_pull
                                  description: >-
                                    How a payin is funded. `shared_account` —
                                    one collection account with a reference per
                                    payment. `per_user` — a dedicated account
                                    per account holder. `per_transaction` —
                                    fresh details issued for each payment.
                                    `linked_account_pull` — no details to send
                                    to: the funds are debited from a bank
                                    account the account holder linked.
                              required:
                                - party
                                - payerIdentity
                                - receiverIdentity
                                - methods
                              additionalProperties: false
                            description: >-
                              The routes that can service this corridor, in
                              fallback order. More than one means the corridor
                              has redundancy.
                          methods:
                            type: array
                            items:
                              type: string
                            description: >-
                              Every method available on this corridor — the
                              union across all candidates. Compare with a
                              candidate’s own `methods`, which is only what that
                              route supports.
                          requiresIdentity:
                            type: boolean
                            description: >-
                              True when at least one candidate needs payer or
                              receiver identity
                        required:
                          - currency
                          - direction
                          - candidates
                          - methods
                          - requiresIdentity
                        additionalProperties: false
                        description: Abstract corridor descriptor (no provider names)
                      direction:
                        type: string
                        enum:
                          - payin
                          - payout
                        description: The corridor direction this identity schema describes
                      entityType:
                        type: string
                        enum:
                          - individual
                          - organisation
                        description: The party entity type (KYC vs KYB field set)
                      identityFlow:
                        type: string
                        enum:
                          - none
                          - declared
                          - verified
                        description: >-
                          Identity depth: none (no identity), declared (collect
                          metadata), verified (full KYC/KYB)
                      fields:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: Field name to submit on the payout
                            type:
                              type: string
                              enum:
                                - text
                                - number
                                - tel
                              description: Input type hint for rendering
                            required:
                              type: boolean
                              description: Whether the field is mandatory
                            regex:
                              type: array
                              items:
                                type: string
                              description: >-
                                Accepted patterns (value must match at least
                                one)
                            options:
                              type: array
                              items:
                                type: object
                                properties:
                                  value:
                                    type: string
                                    description: Option value submitted on payout
                                  label:
                                    type: string
                                    description: Option label (may itself be an i18n key)
                                  i18nKey:
                                    type: string
                                    description: >-
                                      Optional i18n key for the option label —
                                      the client resolves it
                                required:
                                  - value
                                  - label
                                additionalProperties: false
                              description: Fixed select options, when applicable
                            widget:
                              type: string
                              enum:
                                - network
                              description: >-
                                When "network", render a picker fed by GET
                                /v1/currencies/:currency/networks
                            i18nKey:
                              type: string
                              description: >-
                                Locale-agnostic i18n key — the client resolves
                                the label
                            validator:
                              type: string
                              enum:
                                - iban
                                - clabe
                              description: >-
                                Named client-side validator to run in addition
                                to regex
                            normalize:
                              type: string
                              enum:
                                - stripSpacesUpper
                                - upper
                              description: >-
                                Normalization the client applies before
                                validating/submitting
                          required:
                            - name
                            - type
                            - required
                            - regex
                            - i18nKey
                          additionalProperties: false
                          description: A single payout field descriptor
                        description: >-
                          Declared-identity metadata fields to collect (empty
                          unless identityFlow is "declared")
                      requiresWidget:
                        type: boolean
                        description: >-
                          When true, identity is collected via a verification
                          widget (verified individual)
                      kybIntake:
                        type: string
                        enum:
                          - manual_review
                        description: >-
                          Present for verified organisations — KYB is a manual
                          review intake
                    required:
                      - corridor
                      - direction
                      - entityType
                      - identityFlow
                      - fields
                      - requiresWidget
                    additionalProperties: false
                    description: >-
                      Per-corridor identity schema for a (currency, direction,
                      entityType)
                required:
                  - ok
                  - value
        '400':
          description: >-
            Missing/invalid direction or entityType, or the entity type is not
            served
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: The currency has no corridor for the direction
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/currencies/EUR/identity-schema",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/currencies/EUR/identity-schema",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/currencies/EUR/identity-schema" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/currencies/{currency}/documentation-schema:
    get:
      summary: Get the trade-documentation requirement for a currency + method
      description: >-
        Returns the trade documentation a (currency, `method`) payout corridor
        requires before it can be executed (e.g. a mandatory contract PDF for a
        CN bank deposit). Returns `required:false` with an empty field list when
        the corridor needs none. The uploaded binary is NOT submitted here — it
        is uploaded after the order is created via the compliance-docs endpoint.
        The `method` is a camelCase DestinationTransferMethods value.
      tags:
        - Currencies
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Currency code (e.g. EUR, USDC, NGN)
            example: NGN
          required: true
          description: Currency code (e.g. EUR, USDC, NGN)
          name: currency
          in: path
        - schema:
            type: string
            description: >-
              Payout method — a camelCase DestinationTransferMethods value (e.g.
              bankDepositCN)
            example: bankDepositCN
          required: true
          description: >-
            Payout method — a camelCase DestinationTransferMethods value (e.g.
            bankDepositCN)
          name: method
          in: query
      responses:
        '200':
          description: Documentation requirement schema
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: object
                    properties:
                      method:
                        type: string
                        description: The payout method this documentation applies to
                      required:
                        type: boolean
                        description: Whether documentation must be supplied before payout
                      fields:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: Field name to submit / attach on the payout
                            type:
                              type: string
                              enum:
                                - text
                                - number
                                - tel
                                - file
                                - group
                              description: Input type hint for rendering
                            required:
                              type: boolean
                              description: Whether the field is mandatory
                            regex:
                              type: array
                              items:
                                type: string
                              description: >-
                                Accepted patterns (value must match at least
                                one)
                            i18nKey:
                              type: string
                              description: >-
                                Locale-agnostic i18n key — the client resolves
                                the label
                            accept:
                              type: array
                              items:
                                type: string
                              description: >-
                                For file fields: accepted MIME types AND
                                filename extensions (e.g. application/pdf, .pdf)
                                — match on either, since some browsers report an
                                empty file type
                            maxSizeMb:
                              type: number
                              description: >-
                                For file fields: maximum upload size in
                                megabytes
                            options:
                              type: array
                              items:
                                type: object
                                properties:
                                  value:
                                    type: string
                                    description: Value to submit for this choice
                                  label:
                                    type: string
                                    description: Human-readable fallback label
                                  i18nKey:
                                    type: string
                                    description: >-
                                      i18n key the client resolves in preference
                                      to `label`
                                required:
                                  - value
                                  - label
                              description: >-
                                Fixed select options, when the field is a closed
                                choice
                            repeatable:
                              type: boolean
                              description: >-
                                For group fields: whether the sub-form may be
                                repeated as a list
                            min:
                              type: number
                              description: >-
                                For repeatable group fields: minimum number of
                                entries
                            max:
                              type: number
                              description: >-
                                For repeatable group fields: maximum number of
                                entries
                            fields:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    description: >-
                                      Field name to submit / attach on the
                                      payout
                                  type:
                                    type: string
                                    enum:
                                      - text
                                      - number
                                      - tel
                                      - file
                                      - group
                                    description: Input type hint for rendering
                                  required:
                                    type: boolean
                                    description: Whether the field is mandatory
                                  regex:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Accepted patterns (value must match at
                                      least one)
                                  i18nKey:
                                    type: string
                                    description: >-
                                      Locale-agnostic i18n key — the client
                                      resolves the label
                                  accept:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      For file fields: accepted MIME types AND
                                      filename extensions (e.g. application/pdf,
                                      .pdf) — match on either, since some
                                      browsers report an empty file type
                                  maxSizeMb:
                                    type: number
                                    description: >-
                                      For file fields: maximum upload size in
                                      megabytes
                                  options:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        value:
                                          type: string
                                          description: Value to submit for this choice
                                        label:
                                          type: string
                                          description: Human-readable fallback label
                                        i18nKey:
                                          type: string
                                          description: >-
                                            i18n key the client resolves in
                                            preference to `label`
                                      required:
                                        - value
                                        - label
                                    description: >-
                                      Fixed select options, when the field is a
                                      closed choice
                                  repeatable:
                                    type: boolean
                                    description: >-
                                      For group fields: whether the sub-form may
                                      be repeated as a list
                                  min:
                                    type: number
                                    description: >-
                                      For repeatable group fields: minimum
                                      number of entries
                                  max:
                                    type: number
                                    description: >-
                                      For repeatable group fields: maximum
                                      number of entries
                                required:
                                  - name
                                  - type
                                  - required
                                  - regex
                                  - i18nKey
                                additionalProperties: false
                              description: >-
                                For group fields: the sub-field manifest
                                rendered inside each entry
                          required:
                            - name
                            - type
                            - required
                            - regex
                            - i18nKey
                          additionalProperties: false
                          description: >-
                            A single documentation field descriptor for a
                            corridor
                        description: >-
                          Ordered list of documentation fields to collect (empty
                          when none)
                      allowsAttachments:
                        type: boolean
                        description: Whether free-form supporting attachments may be added
                      attachmentRequired:
                        type: boolean
                        description: Whether at least one attachment is mandatory
                    required:
                      - method
                      - required
                      - fields
                      - allowsAttachments
                      - attachmentRequired
                    additionalProperties: false
                    description: >-
                      Trade-documentation requirement for a (currency, method)
                      payout corridor
                required:
                  - ok
                  - value
        '400':
          description: The method is unknown or not available for the currency
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: The currency has no payout corridor
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/currencies/EUR/documentation-schema",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/currencies/EUR/documentation-schema",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/currencies/EUR/documentation-schema"
            \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/currencies/{currency}/payin-countries:
    get:
      summary: Get the collection countries for a multi-country currency
      description: >-
        For a multi-country collection currency (the CFA zones — XOF covers
        CI/SN/TG/BJ, XAF covers CM/CG/GA), returns the member countries a payer
        may select as the origin country. `originCountry` on a deposit/order is
        validated against this set. Returns an empty array for single-country
        currencies.
      tags:
        - Currencies
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            description: Currency code (e.g. EUR, USDC, NGN)
            example: NGN
          required: true
          description: Currency code (e.g. EUR, USDC, NGN)
          name: currency
          in: path
      responses:
        '200':
          description: Collection countries (may be empty)
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  value:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: ISO-3166 alpha-2 country code
                          example: SN
                        name:
                          type: string
                          description: Country name
                          example: Senegal
                      required:
                        - code
                        - name
                      additionalProperties: false
                      description: >-
                        A payer-selectable collection country for a
                        multi-country currency
                    description: >-
                      Collection countries a payer may select as origin for a
                      multi-country currency (empty for single-country
                      currencies)
                required:
                  - ok
                  - value
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/currencies/EUR/payin-countries",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/currencies/EUR/payin-countries",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/currencies/EUR/payin-countries" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/health:
    get:
      summary: Platform health
      description: >-
        Public, unauthenticated snapshot of platform health as abstract product
        areas (`operational` / `degraded` / `down`). No authentication required;
        safe to poll (e.g. every 30s) for a status page.
      tags:
        - System
      security: []
      responses:
        '200':
          description: Current platform health
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicHealthResponse'
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: |-
            const res = await fetch("https://api.virtuabroker.com/v1/health", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/health",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X GET "https://api.virtuabroker.com/v1/health" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/aml-screenings:
    post:
      summary: Screen an individual or organisation
      description: >

        Screens a single individual or organisation against sanctions, PEP,
        watchlist and adverse-media data. No transaction is required.


        ### How screening works


        1. Call `POST /v1/aml-screenings` with the subject's `entity` (declare
        `entityType` and provide at least one name or identifier) and a
        `reason`.

        2. The response reports a `result`:
           - **CLEAR** — no matches (`match: false`).
           - **POTENTIAL_MATCH** / **REVIEW_REQUIRED** — one or more potential matches (`match: true`). A potential match is **never** a confirmed match; it requires review.
           - **INSUFFICIENT_DATA** — not enough identity information to screen (`status: NOT_COMPLETED`, `match: null`); see `errors`.
        3. Retrieve a screening later with `GET
        /v1/aml-screenings/{screeningId}`.


        ### Idempotency


        Send an `Idempotency-Key` header (≤128 characters) to make retries safe:
        keys are scoped to your workspace; replaying the same key returns the
        original screening; reusing it with a different payload is rejected with
        `409`. (The three money write routes carry their own, stricter contract
        — see **Idempotent writes** at the top of this guide.)


        ### Notes


        - Responses summarise the outcome (result, match, counts). Raw match
        details are retained for compliance review and are not returned here.

        - Screening must be enabled for your workspace.
      tags:
        - AML Screening
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            maxLength: 128
            description: >-
              Optional idempotency key (≤128 chars). Replaying it returns the
              original screening; reusing it with a different payload is
              rejected.
          required: false
          description: >-
            Optional idempotency key (≤128 chars). Replaying it returns the
            original screening; reusing it with a different payload is rejected.
          name: Idempotency-Key
          in: header
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                entity:
                  type: object
                  properties:
                    entityType:
                      type: string
                      enum:
                        - INDIVIDUAL
                        - COMPANY
                      description: >-
                        Whether the subject is a natural person or an
                        organisation.
                    firstName:
                      type: string
                      maxLength: 256
                      description: Given name of an individual subject.
                    lastName:
                      type: string
                      maxLength: 256
                      description: Family name of an individual subject.
                    fullName:
                      type: string
                      maxLength: 256
                      description: >-
                        Full name of the subject. Accepted for both individuals
                        and organisations.
                    companyName:
                      type: string
                      maxLength: 256
                      description: Legal name of an organisation subject.
                    email:
                      type: string
                      maxLength: 256
                      format: email
                      description: >-
                        Contact email used to resolve an existing verified
                        subject.
                    dateOfBirth:
                      type: string
                      pattern: ^\d{4}-\d{2}-\d{2}$
                      description: Date of birth of an individual subject (YYYY-MM-DD).
                    nationality:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Nationality of an individual subject (ISO-3166 alpha-2).
                    countryOfResidence:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: Country of residence of the subject (ISO-3166 alpha-2).
                    taxIdentificationNumber:
                      type: string
                      maxLength: 64
                      description: Tax identification number of the subject.
                    taxIdentificationType:
                      type: string
                      enum:
                        - NIF
                        - NIE
                        - CIF
                        - VAT
                        - OTHER
                      description: Type of the supplied tax identification number.
                    taxIdentificationCountry:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: >-
                        Issuing country of the tax identification number
                        (ISO-3166 alpha-2).
                    documentNumber:
                      type: string
                      maxLength: 64
                      description: Identity document number of an individual subject.
                    documentType:
                      type: string
                      maxLength: 64
                      description: Type of the supplied identity document (e.g. passport).
                    documentCountry:
                      type: string
                      enum:
                        - US
                        - CA
                        - GB
                        - DE
                        - FR
                        - AU
                        - JP
                        - KR
                        - SE
                        - 'NO'
                        - DK
                        - FI
                        - NL
                        - BE
                        - CH
                        - AT
                        - NZ
                        - SG
                        - IE
                        - LU
                        - PT
                        - ES
                        - IT
                        - GR
                        - CZ
                        - PL
                        - HU
                        - SK
                        - SI
                        - EE
                        - LT
                        - LV
                        - IS
                        - MT
                        - CY
                        - HR
                        - RO
                        - BG
                        - BR
                        - AR
                        - CL
                        - MX
                        - CO
                        - PE
                        - PA
                        - UY
                        - BO
                        - ZA
                        - NG
                        - KE
                        - GH
                        - TZ
                        - UG
                        - RW
                        - MW
                        - ZM
                        - BW
                        - CD
                        - CI
                        - CM
                        - IL
                        - AE
                        - QA
                        - SA
                        - OM
                        - KW
                        - BH
                        - MY
                        - PH
                        - TH
                        - VN
                        - ID
                        - IN
                        - LK
                        - NP
                        - BD
                        - PK
                        - EG
                        - MA
                        - DZ
                        - TN
                        - JO
                        - LB
                        - TR
                        - KH
                        - MM
                        - LA
                        - EN
                        - BT
                        - VE
                        - TW
                        - HK
                        - CN
                      description: >-
                        Issuing country of the identity document (ISO-3166
                        alpha-2).
                    companyRegistrationNumber:
                      type: string
                      maxLength: 64
                      description: Registration number of an organisation subject.
                    accountId:
                      type: string
                      maxLength: 256
                      description: >-
                        Account in the requesting workspace this subject belongs
                        to.
                  required:
                    - entityType
                  additionalProperties: false
                reason:
                  type: string
                  enum:
                    - ONBOARDING
                    - PRE_TRANSACTION
                    - MANUAL_CHECK
                    - PERIODIC_REVIEW
                    - OTHER
                  description: Why this screening is being requested.
                reference:
                  type: string
                  maxLength: 64
                  description: Optional client reference echoed back on the response.
              required:
                - entity
                - reason
              additionalProperties: false
              description: >-
                Request an AML screening for a single individual or
                organisation.
              example:
                entity:
                  entityType: INDIVIDUAL
                  firstName: Jane
                  lastName: Doe
                  dateOfBirth: '1985-04-12'
                  nationality: ES
                reason: ONBOARDING
                reference: case-2026-0042
      responses:
        '200':
          description: >-
            Screening completed, or not completed for a client-actionable reason
            (e.g. insufficient data).
          content:
            application/json:
              schema:
                type: object
                properties:
                  screeningId:
                    type: string
                    description: >-
                      Identifier of the screening record for correlation and
                      lookup.
                  reference:
                    type: string
                    description: The client reference supplied on the request, if any.
                  status:
                    type: string
                    enum:
                      - COMPLETED
                      - NOT_COMPLETED
                      - FAILED
                    description: >-
                      COMPLETED = a screening ran; NOT_COMPLETED = not run (see
                      result/errors); FAILED = the screening could not be
                      performed.
                  result:
                    type: string
                    enum:
                      - CLEAR
                      - POTENTIAL_MATCH
                      - REVIEW_REQUIRED
                      - INSUFFICIENT_DATA
                      - ERROR
                    description: >-
                      Screening outcome. A potential match is never a confirmed
                      match.
                  match:
                    type: boolean
                    nullable: true
                    description: >-
                      true = at least one potential match; false = clear; null =
                      no definitive screening was performed.
                  potentialMatchCount:
                    type: integer
                    minimum: 0
                    description: Number of potential matches surfaced by the screening.
                  reviewRequired:
                    type: boolean
                    description: >-
                      Whether the outcome requires manual review before
                      proceeding.
                  screenedAt:
                    type: string
                    description: >-
                      ISO-8601 timestamp of when the screening completed, if it
                      did.
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable machine-readable error code.
                        message:
                          type: string
                          description: Human-readable explanation.
                      required:
                        - code
                        - message
                    description: >-
                      Populated when the screening could not be run (e.g.
                      insufficient data).
                required:
                  - screeningId
                  - status
                  - match
                  - potentialMatchCount
                  - reviewRequired
                description: Result of an AML screening request.
        '400':
          description: Invalid request payload
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '403':
          description: AML screening is not enabled for this workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '409':
          description: >-
            Idempotency-Key reused with a different payload, or conflicting
            identifiers
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '503':
          description: The screening could not be completed at this time
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/aml-screenings", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "entity": {
                    "entityType": "INDIVIDUAL",
                    "firstName": "Jane",
                    "lastName": "Doe",
                    "dateOfBirth": "1985-04-12",
                    "nationality": "ES"
                  },
                  "reason": "ONBOARDING",
                  "reference": "case-2026-0042"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/aml-screenings",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "entity": {
                        "entityType": "INDIVIDUAL",
                        "firstName": "Jane",
                        "lastName": "Doe",
                        "dateOfBirth": "1985-04-12",
                        "nationality": "ES"
                    },
                    "reason": "ONBOARDING",
                    "reference": "case-2026-0042"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/aml-screenings" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "entity": {
                "entityType": "INDIVIDUAL",
                "firstName": "Jane",
                "lastName": "Doe",
                "dateOfBirth": "1985-04-12",
                "nationality": "ES"
              },
              "reason": "ONBOARDING",
              "reference": "case-2026-0042"
            }'
  /v1/aml-screenings/{screeningId}:
    get:
      summary: Get a screening result
      description: >-
        Retrieve a previously created screening by its id. Only screenings
        created in the requesting workspace are visible.
      tags:
        - AML Screening
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Identifier of a screening previously created in this workspace.
          required: true
          description: Identifier of a screening previously created in this workspace.
          name: screeningId
          in: path
      responses:
        '200':
          description: The screening result
          content:
            application/json:
              schema:
                type: object
                properties:
                  screeningId:
                    type: string
                    description: >-
                      Identifier of the screening record for correlation and
                      lookup.
                  reference:
                    type: string
                    description: The client reference supplied on the request, if any.
                  status:
                    type: string
                    enum:
                      - COMPLETED
                      - NOT_COMPLETED
                      - FAILED
                    description: >-
                      COMPLETED = a screening ran; NOT_COMPLETED = not run (see
                      result/errors); FAILED = the screening could not be
                      performed.
                  result:
                    type: string
                    enum:
                      - CLEAR
                      - POTENTIAL_MATCH
                      - REVIEW_REQUIRED
                      - INSUFFICIENT_DATA
                      - ERROR
                    description: >-
                      Screening outcome. A potential match is never a confirmed
                      match.
                  match:
                    type: boolean
                    nullable: true
                    description: >-
                      true = at least one potential match; false = clear; null =
                      no definitive screening was performed.
                  potentialMatchCount:
                    type: integer
                    minimum: 0
                    description: Number of potential matches surfaced by the screening.
                  reviewRequired:
                    type: boolean
                    description: >-
                      Whether the outcome requires manual review before
                      proceeding.
                  screenedAt:
                    type: string
                    description: >-
                      ISO-8601 timestamp of when the screening completed, if it
                      did.
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable machine-readable error code.
                        message:
                          type: string
                          description: Human-readable explanation.
                      required:
                        - code
                        - message
                    description: >-
                      Populated when the screening could not be run (e.g.
                      insufficient data).
                required:
                  - screeningId
                  - status
                  - match
                  - potentialMatchCount
                  - reviewRequired
                description: Result of an AML screening request.
        '403':
          description: AML screening is not enabled for this workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: No such screening in this workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/aml-screenings/YOUR_SCREENINGID",
            {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/aml-screenings/YOUR_SCREENINGID",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/aml-screenings/YOUR_SCREENINGID" \
              -H "Authorization: Bearer $VB_TOKEN"
  /v1/aml-checks:
    post:
      summary: Check a name against sanctions, PEP and watchlist data
      description: >-
        Runs a live verification of a natural or legal person against global
        sanctions, politically-exposed-person and watchlist data — independent
        of any account, verification or payment. Provide the full name and,
        where available, an identifier (a Spanish DNI/NIE/NIF/CIF is recognised
        and used to infer the subject type). Every check is stored and
        retrievable. `match: null` means the check could not be completed and
        must never be read as clear. Safe to retry: each call runs a fresh check
        and appends to your history.
      tags:
        - AML Screening
      security:
        - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 2
                  maxLength: 140
                  description: >-
                    Full name of the natural or legal person to verify against
                    sanctions, PEP and watchlist data.
                  example: Pedro Sánchez Pérez-Castejón
                id:
                  type: string
                  minLength: 3
                  maxLength: 32
                  description: >-
                    Identifier for your records — a Spanish DNI/NIE/NIF/CIF is
                    recognised and used to infer the subject type; any other
                    national identifier is accepted as-is.
                  example: 012345678A
                entityType:
                  type: string
                  enum:
                    - INDIVIDUAL
                    - COMPANY
                  description: >-
                    Subject kind. When omitted it is inferred from the id where
                    possible; otherwise the check matches both kinds.
                reference:
                  type: string
                  minLength: 1
                  maxLength: 64
                  description: Your correlation reference, echoed back on the response.
              required:
                - name
              additionalProperties: false
      responses:
        '200':
          description: The check completed (match true/false with details)
          content:
            application/json:
              schema:
                type: object
                properties:
                  checkId:
                    type: string
                  reference:
                    type: string
                  status:
                    type: string
                    enum:
                      - COMPLETED
                      - FAILED
                  match:
                    type: boolean
                    nullable: true
                    description: >-
                      true = at least one potential match; false = clear; null =
                      the check could not be completed and MUST NOT be read as
                      clear.
                  matchCount:
                    type: integer
                    minimum: 0
                  checkedAt:
                    type: string
                    description: ISO 8601
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        matchId:
                          type: string
                          description: Stable identifier of the matched list entry.
                        name:
                          type: string
                          description: Name as it appears on the list.
                        type:
                          type: string
                          enum:
                            - PERSON
                            - COMPANY
                            - OTHER
                        score:
                          type: number
                          minimum: 0
                          maximum: 1
                          description: Match strength between 0 and 1.
                        flags:
                          type: array
                          items:
                            type: string
                            enum:
                              - SANCTIONS
                              - PEP
                              - WATCHLIST
                              - CRIME
                              - OTHER
                          description: Why this entry is listed.
                        title:
                          type: string
                          description: Known role or position.
                        countries:
                          type: array
                          items:
                            type: string
                          description: Associated countries (ISO 3166-1 alpha-2).
                        dateOfBirth:
                          type: string
                          description: YYYY-MM-DD where known.
                      required:
                        - matchId
                        - name
                        - type
                        - score
                        - flags
                        - countries
                      additionalProperties: false
                    maxItems: 20
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: CHECK_NOT_COMPLETED
                        message:
                          type: string
                      required:
                        - code
                        - message
                      additionalProperties: false
                    description: >-
                      Present when status is FAILED — machine-readable reasons
                      the check could not be completed. Retry with a new check;
                      never read a FAILED check as clear.
                required:
                  - checkId
                  - status
                  - match
                  - matchCount
                  - checkedAt
                  - results
                additionalProperties: false
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '403':
          description: AML screening is not enabled for this workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '503':
          description: >-
            The check could not be completed (match is null — not a clear
            result). A stored FAILED check is returned with an `errors` array;
            internal errors return the standard error envelope instead.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      checkId:
                        type: string
                      reference:
                        type: string
                      status:
                        type: string
                        enum:
                          - COMPLETED
                          - FAILED
                      match:
                        type: boolean
                        nullable: true
                        description: >-
                          true = at least one potential match; false = clear;
                          null = the check could not be completed and MUST NOT
                          be read as clear.
                      matchCount:
                        type: integer
                        minimum: 0
                      checkedAt:
                        type: string
                        description: ISO 8601
                      results:
                        type: array
                        items:
                          type: object
                          properties:
                            matchId:
                              type: string
                              description: Stable identifier of the matched list entry.
                            name:
                              type: string
                              description: Name as it appears on the list.
                            type:
                              type: string
                              enum:
                                - PERSON
                                - COMPANY
                                - OTHER
                            score:
                              type: number
                              minimum: 0
                              maximum: 1
                              description: Match strength between 0 and 1.
                            flags:
                              type: array
                              items:
                                type: string
                                enum:
                                  - SANCTIONS
                                  - PEP
                                  - WATCHLIST
                                  - CRIME
                                  - OTHER
                              description: Why this entry is listed.
                            title:
                              type: string
                              description: Known role or position.
                            countries:
                              type: array
                              items:
                                type: string
                              description: Associated countries (ISO 3166-1 alpha-2).
                            dateOfBirth:
                              type: string
                              description: YYYY-MM-DD where known.
                          required:
                            - matchId
                            - name
                            - type
                            - score
                            - flags
                            - countries
                          additionalProperties: false
                        maxItems: 20
                      errors:
                        type: array
                        items:
                          type: object
                          properties:
                            code:
                              type: string
                              example: CHECK_NOT_COMPLETED
                            message:
                              type: string
                          required:
                            - code
                            - message
                          additionalProperties: false
                        description: >-
                          Present when status is FAILED — machine-readable
                          reasons the check could not be completed. Retry with a
                          new check; never read a FAILED check as clear.
                    required:
                      - checkId
                      - status
                      - match
                      - matchCount
                      - checkedAt
                      - results
                    additionalProperties: false
                  - type: object
                    properties:
                      success:
                        type: boolean
                        description: Always false for error responses
                        example: false
                      message:
                        type: string
                        description: >-
                          Human-readable error description. Do not branch on
                          this value — use `error` instead.
                        example: Deposit not found
                      error:
                        type: string
                        enum:
                          - ValidationError
                          - ExistenceError
                          - StateError
                          - DuplicityError
                          - AuthorizationError
                          - AllowanceError
                          - FundsError
                          - ExternalServiceError
                          - OperationError
                        description: >-
                          Machine-readable error type. Use this field for
                          programmatic error handling. See error-codes
                          documentation for HTTP status, meaning, and
                          recommended consumer action per type.
                        example: ExistenceError
                      errorId:
                        type: number
                        description: >-
                          Stable numeric sub-type identifier (e.g. 1017 for
                          documentNotFound). Present on most error paths.
                        example: 1017
                      errorName:
                        type: string
                        description: >-
                          Stable sub-type identifier label (e.g.
                          documentNotFound).
                        example: documentNotFound
                      code:
                        type: string
                        description: >-
                          Stable machine-readable refusal reason, narrower than
                          `error`. Returned by the error paths that publish one,
                          and it is what to branch on when the message is
                          deliberately abstract.
                        example: provider_verification_required
                    required:
                      - success
                      - message
                      - error
                    description: >-
                      Error response shape. The `error` field is the stable
                      contract — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/aml-checks", {
                method: "POST",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`,
                  "Content-Type": "application/json"
                },
                body: JSON.stringify({
                  "name": "Pedro Sánchez Pérez-Castejón",
                  "id": "012345678A",
                  "entityType": "INDIVIDUAL",
                  "reference": "string"
                })
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.post(
                "https://api.virtuabroker.com/v1/aml-checks",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
                json={
                    "name": "Pedro Sánchez Pérez-Castejón",
                    "id": "012345678A",
                    "entityType": "INDIVIDUAL",
                    "reference": "string"
                },
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: |-
            curl -X POST "https://api.virtuabroker.com/v1/aml-checks" \
              -H "Authorization: Bearer $VB_TOKEN" \
              -H "Content-Type: application/json" \
              -d '{
              "name": "Pedro Sánchez Pérez-Castejón",
              "id": "012345678A",
              "entityType": "INDIVIDUAL",
              "reference": "string"
            }'
  /v1/aml-checks/{checkId}:
    get:
      summary: Get a stored check
      description: >-
        Retrieve a previously run check by its id. Only checks created in the
        requesting workspace are visible.
      tags:
        - AML Screening
      security:
        - oauth2: []
      parameters:
        - schema:
            type: string
            minLength: 1
          required: true
          name: checkId
          in: path
      responses:
        '200':
          description: The stored check
          content:
            application/json:
              schema:
                type: object
                properties:
                  checkId:
                    type: string
                  reference:
                    type: string
                  status:
                    type: string
                    enum:
                      - COMPLETED
                      - FAILED
                  match:
                    type: boolean
                    nullable: true
                    description: >-
                      true = at least one potential match; false = clear; null =
                      the check could not be completed and MUST NOT be read as
                      clear.
                  matchCount:
                    type: integer
                    minimum: 0
                  checkedAt:
                    type: string
                    description: ISO 8601
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        matchId:
                          type: string
                          description: Stable identifier of the matched list entry.
                        name:
                          type: string
                          description: Name as it appears on the list.
                        type:
                          type: string
                          enum:
                            - PERSON
                            - COMPANY
                            - OTHER
                        score:
                          type: number
                          minimum: 0
                          maximum: 1
                          description: Match strength between 0 and 1.
                        flags:
                          type: array
                          items:
                            type: string
                            enum:
                              - SANCTIONS
                              - PEP
                              - WATCHLIST
                              - CRIME
                              - OTHER
                          description: Why this entry is listed.
                        title:
                          type: string
                          description: Known role or position.
                        countries:
                          type: array
                          items:
                            type: string
                          description: Associated countries (ISO 3166-1 alpha-2).
                        dateOfBirth:
                          type: string
                          description: YYYY-MM-DD where known.
                      required:
                        - matchId
                        - name
                        - type
                        - score
                        - flags
                        - countries
                      additionalProperties: false
                    maxItems: 20
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: CHECK_NOT_COMPLETED
                        message:
                          type: string
                      required:
                        - code
                        - message
                      additionalProperties: false
                    description: >-
                      Present when status is FAILED — machine-readable reasons
                      the check could not be completed. Retry with a new check;
                      never read a FAILED check as clear.
                required:
                  - checkId
                  - status
                  - match
                  - matchCount
                  - checkedAt
                  - results
                additionalProperties: false
        '403':
          description: AML screening is not enabled for this workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
        '404':
          description: No such check in this workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Always false for error responses
                    example: false
                  message:
                    type: string
                    description: >-
                      Human-readable error description. Do not branch on this
                      value — use `error` instead.
                    example: Deposit not found
                  error:
                    type: string
                    enum:
                      - ValidationError
                      - ExistenceError
                      - StateError
                      - DuplicityError
                      - AuthorizationError
                      - AllowanceError
                      - FundsError
                      - ExternalServiceError
                      - OperationError
                    description: >-
                      Machine-readable error type. Use this field for
                      programmatic error handling. See error-codes documentation
                      for HTTP status, meaning, and recommended consumer action
                      per type.
                    example: ExistenceError
                  errorId:
                    type: number
                    description: >-
                      Stable numeric sub-type identifier (e.g. 1017 for
                      documentNotFound). Present on most error paths.
                    example: 1017
                  errorName:
                    type: string
                    description: Stable sub-type identifier label (e.g. documentNotFound).
                    example: documentNotFound
                  code:
                    type: string
                    description: >-
                      Stable machine-readable refusal reason, narrower than
                      `error`. Returned by the error paths that publish one, and
                      it is what to branch on when the message is deliberately
                      abstract.
                    example: provider_verification_required
                required:
                  - success
                  - message
                  - error
                description: >-
                  Error response shape. The `error` field is the stable contract
                  — branch on it, not on `message`.
      x-codeSamples:
        - lang: JavaScript
          label: Node.js
          source: >-
            const res = await
            fetch("https://api.virtuabroker.com/v1/aml-checks/YOUR_CHECKID", {
                method: "GET",
                headers: {
                  Authorization: `Bearer ${process.env.VB_TOKEN}`
                }
              });
            const data = await res.json();
        - lang: Python
          label: Python
          source: |-
            import os, requests

            res = requests.get(
                "https://api.virtuabroker.com/v1/aml-checks/YOUR_CHECKID",
                headers={"Authorization": f"Bearer {os.environ['VB_TOKEN']}"},
            )
            data = res.json()
        - lang: Shell
          label: cURL
          source: >-
            curl -X GET
            "https://api.virtuabroker.com/v1/aml-checks/YOUR_CHECKID" \
              -H "Authorization: Bearer $VB_TOKEN"
tags:
  - name: System
    description: Public platform health for status pages and uptime checks.
  - name: Pairs
    description: >-
      Which currency corridors are tradable and their constraints — the routes a
      quote can price.
  - name: Quotes
    description: >-
      Real-time price locks for a currency pair. A quote fixes the rate and fees
      for a short window; no customer identity is required to fetch one.
  - name: Currencies
    description: >-
      Supported currencies and the transfer methods (rails) available for
      collecting and paying out each one.
  - name: Orders
    description: >-
      Bind a quote to a customer and drive a payment end to end — collect origin
      funds, convert at the locked rate, and pay out to the destination.
  - name: Deposits
    description: >-
      How funds enter a workspace: request payment instructions (a bank
      reference/IBAN or a crypto address) and get credited automatically on
      receipt.
  - name: Withdrawals
    description: >-
      Pay out from an existing balance to a fiat or crypto destination,
      including 2FA-gated approval where required.
  - name: Balances
    description: Per-currency available balances for a workspace.
  - name: Openbanking
    description: Open-banking payment initiation, where enabled for the workspace.
  - name: KYC
    description: >-
      Submit and track identity verification (KYC/KYB) for the parties in a
      payment. Observable states and required fields only — never internal
      screening logic.
  - name: Pending Payments
    description: >-
      Inbound payments awaiting attribution or review before they can be
      credited.
  - name: AML Screening
    description: >-
      Screen an individual or organisation against sanctions, PEP, watchlist and
      adverse-media data. A potential match is never a confirmed match.
  - name: Banking Accounts
    description: The virtual and linked bank accounts a workspace can collect funds into.
  - name: Customers
    description: >-
      The end-users (individuals and organisations) a workspace manages: onboard
      them, track their verification status, and act on their behalf in
      payments.
  - name: PaymentRequests
    description: >-
      Payment links: request funds on behalf of a managed customer, share the
      hosted checkout link, and track the request until it is paid.
  - name: Webhooks
    description: >-
      Register endpoints and receive signed event notifications for deposits,
      trades, withdrawals, order status and identity. Verify the
      `X-VirtuaBroker-Signature-256` header on every delivery.
  - name: Conversations
    description: >-
      Run a real-time b2c support chat for your end-users: open threads, send
      replies, list and stream messages.
  - name: Mocks
    description: >-
      **Stage only.** Sandbox helpers for exercising flows on the stage
      environment. These endpoints are not mounted on production — the same call
      against `api.virtuabroker.com` returns `401`.
  - name: Simulation
    description: >-
      **Stage only.** Because no real funding reaches stage, an order or deposit
      would otherwise sit in `Pending` waiting for a transfer that never
      arrives. These endpoints stand in for that money movement: the deposit is
      credited, the order continues its lifecycle, and the corresponding
      webhooks fire — exactly as a real transfer would. Call them with your
      normal stage credentials against `https://api-stage.virtuabroker.com`.
      They are not mounted on production.
webhooks:
  events:
    post:
      summary: Handle webhook events
      description: >-
        Your server receives POST requests with the `WebhookRequest` schema:
        `type`, `id`, `api_version` (e.g. `1.0`), `apiKey`, and `data`. Event
        types cover deposits, deposit methods, trades, withdrawals, order
        status, open-banking payment status, and identity verification.
        **Recommended:** handle **`verification_status_updated`** for KYC and
        KYB (`data.verificationType` is `KYC` or `KYB`). **`kyc_completed`** is
        **deprecated** (may still be sent); new integrations should not rely on
        it. For deposit methods, **`deposit_method_created`** is sent when a
        method is provisioned and **`deposit_method_activated`** at most once
        when its receiving instructions (`data.depositInfo`) become available;
        ordering between the two is not guaranteed when activation is immediate.
        **`deposit_action_required`** is sent when an inbound deposit is held
        until you declare its origin (Travel Rule): answer with `POST
        /v1/deposits/holds/{holdId}/travel-rule`; it is re-sent every 6 hours
        while unanswered (`data.reminder: true`). If you receive multiple events
        for the same outcome, deduplicate using stable fields in `data` (e.g.
        entity identifiers, `methodId`) together with `type`. Return any **2xx**
        response to acknowledge receipt.
      operationId: events
      tags:
        - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookRequest'
      responses:
        2XX:
          description: >-
            Return any 2XX status to indicate that the data was received
            successfully
      security: []
x-tagGroups:
  - name: Pricing
    tags:
      - Pairs
      - Quotes
      - Currencies
  - name: Payments
    tags:
      - Orders
      - Deposits
      - Withdrawals
      - Balances
  - name: Open banking
    tags:
      - Openbanking
  - name: Identity & compliance
    tags:
      - KYC
      - Pending Payments
      - AML Screening
  - name: Events
    tags:
      - Webhooks
  - name: Accounts
    tags:
      - Banking Accounts
  - name: Support
    tags:
      - Support
  - name: Platform
    tags:
      - System
  - name: Testing
    tags:
      - Simulation
      - Mocks
